Команды Linux показывают разные результаты

Мне действительно трудно обрабатывать эти результаты на моем сервере Ubuntu. У меня есть серьезная проблема с моим сервером JBoss, где я получаю FileNotFoundExceptions вместе с "No space left on device" ошибки, когда JBoss пытается создать / переместить файл:

java.io.FileNotFoundException: /data/ftp/statistik/processed/chma10_20140528092555212.xml (No space left on device)

, И я подумал "может быть, мне не хватает места на диске", и использовал df Команда, чтобы выяснить, сколько у меня осталось:

root@ubuntu1:/# df -h
Filsystem            Storlek Anvnt Tillg Anv% Monterat på
/dev/mapper/ubuntu1-root
                       36G   13G   21G  38% /
none                  2,0G  192K  2,0G   1% /dev
none                  2,0G     0  2,0G   0% /dev/shm
none                  2,0G   64K  2,0G   1% /var/run
none                  2,0G     0  2,0G   0% /var/lock
/dev/sda1             228M   23M  193M  11% /boot
/dev/mapper/vgdata-lvdata
                       79G  9,2G   66G  13% /data

И, как вы видите, у меня осталось достаточно места. И я также проверил, нет ли у меня i-узлов:

root@ubuntu1:/# df -i
Filsystem            Inoder    IAnv   IFria IAnv% Monterat på
/dev/mapper/ubuntu1-root
                     2346512   61992 2284520    3% /
none                  505380     773  504607    1% /dev
none                  507383       1  507382    1% /dev/shm
none                  507383      30  507353    1% /var/run
none                  507383       2  507381    1% /var/lock
/dev/sda1             124496     230  124266    1% /boot
/dev/mapper/vgdata-lvdata
                     10486784  233945 10252839    3% /data

Но тогда я использовал du:

root@ubuntu1:/# du -s -h /*
7,5M    /bin
23M     /boot
19G     /data
192K    /dev
11G     /eniro
5,3M    /etc
112K    /home
0       /initrd.img
183M    /lib
0       /lib64
16K     /lost+found
12K     /media
4,0K    /mnt
4,0K    /opt
du: kan inte komma åt "/proc/20452/task/20452/fd/3": Filen eller katalogen finns inte
du: kan inte komma åt "/proc/20452/task/20452/fdinfo/3": Filen eller katalogen finns inte
du: kan inte komma åt "/proc/20452/fd/3": Filen eller katalogen finns inte
du: kan inte komma åt "/proc/20452/fdinfo/3": Filen eller katalogen finns inte
0       /proc
18M     /root
8,2M    /sbin
4,0K    /selinux
8,0K    /srv
0       /sys
40K     /tmp
691M    /usr
1,2G    /var
0       /vmlinuz

Заметить, что /data а также /eniro 30G в сочетании! Как это возможно? У меня где-нибудь есть утечка памяти? Или что-то еще?

----- РЕДАКТИРОВАТЬ 1 -----

Хорошо, я понял, что /data имеет собственное крепление, поэтому невозможно комбинировать /data а также /eniro потому что они не на одной горе. Но почему это говорит 9,2G по первой команде, когда он говорит 19G на третьем по каталогу /data?

----- РЕДАКТИРОВАТЬ 2 -----

@ Педро Соуза:

root@ubuntu1:# du -h --max-depth=1 /
0       /sys
192K    /dev
4,0K    /opt
40K     /tmp
18M     /root
8,2M    /sbin
du: kan inte komma åt "/proc/24487/task/24487/fd/3": Filen eller katalogen finns inte
du: kan inte komma åt "/proc/24487/task/24487/fdinfo/3": Filen eller katalogen finns inte
du: kan inte komma åt "/proc/24487/fd/3": Filen eller katalogen finns inte
du: kan inte komma åt "/proc/24487/fdinfo/3": Filen eller katalogen finns inte
0       /proc
19G     /data
183M    /lib
11G     /eniro
12K     /media
112K    /home
1,2G    /var
16K     /lost+found
23M     /boot
4,0K    /mnt
4,0K    /selinux
691M    /usr
7,5M    /bin
8,0K    /srv
5,3M    /etc
31G     /




root@ubuntu1:# sudo cat /etc/mtab
/dev/mapper/EnirostatTest1-root / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
none /sys sysfs rw,noexec,nosuid,nodev 0 0
fusectl /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
none /sys/kernel/security securityfs rw 0 0
none /dev devtmpfs rw,mode=0755 0 0
none /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
none /dev/shm tmpfs rw,nosuid,nodev 0 0
none /var/run tmpfs rw,nosuid,mode=0755 0 0
none /var/lock tmpfs rw,noexec,nosuid,nodev 0 0
/dev/sda1 /boot ext2 rw 0 0
/dev/mapper/vgdata-lvdata /data ext4 rw,errors=remount-ro 0 0
/data/ftp/recordings /data/export/recordings none rw,bind 0 0
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
nfsd /proc/fs/nfsd nfsd rw 0 0





root@ubuntu1:# sudo fdisk -l

Disk /dev/sda: 42,9 GB, 42949672960 byte
255 huvuden, 63 sektorer/spår, 5221 cylindrar
Enheter = cylindrar av 16065 · 512 = 8225280 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Diskidentifierare: 0x0008762a

    Enhet Start     Början        Slut     Block    Id  System
/dev/sda1   *           1          32      248832   83  Linux
Partition 1 slutar inte på cylindergräns.
/dev/sda2              32        5222    41691137    5  Utökad
/dev/sda5              32        5222    41691136   8e  Linux LVM

Disk /dev/sdb: 107,4 GB, 107374182400 byte
255 huvuden, 63 sektorer/spår, 13054 cylindrar
Enheter = cylindrar av 16065 · 512 = 8225280 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Diskidentifierare: 0x58aa8283

    Enhet Start     Början        Slut     Block    Id  System
/dev/sdb1               1       13054   104856223+  83  Linux

Disk /dev/dm-0: 85,9 GB, 85903540224 byte
255 huvuden, 63 sektorer/spår, 10443 cylindrar
Enheter = cylindrar av 16065 · 512 = 8225280 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Diskidentifierare: 0x00000000

Disk /dev/dm-0 innehåller inte en giltig partitionstabell

Disk /dev/dm-1: 38,4 GB, 38394658816 byte
255 huvuden, 63 sektorer/spår, 4667 cylindrar
Enheter = cylindrar av 16065 · 512 = 8225280 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Diskidentifierare: 0x00000000

Disk /dev/dm-1 innehåller inte en giltig partitionstabell

Disk /dev/dm-2: 4294 MB, 4294967296 byte
255 huvuden, 63 sektorer/spår, 522 cylindrar
Enheter = cylindrar av 16065 · 512 = 8225280 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Diskidentifierare: 0x00000000

Disk /dev/dm-2 innehåller inte en giltig partitionstabell






root@ubuntu1:# ls -alh /data
totalt 30K
drwxr-xr-x  6 root root 1,0K 2013-10-01 08:17 .
drwxr-xr-x 23 root root 4,0K 2014-06-05 10:36 ..
drwxr-xr-x  2 stat stat  11K 2014-06-04 23:00 eniro_ftp
drwxrwxrwx  3 root root 1,0K 2013-05-13 14:21 export
drwxrwxrwx  5 root root 1,0K 2013-10-01 08:07 ftp
drwx------  2 root root  12K 2013-05-11 16:30 lost+found

1 ответ

Решение

Я заметил ошибку, когда я выполнил dmesg:

 EXT4-fs warning (device dm-0): ext4_dx_add_entry:1535: Directory index full!

Это указывает на то, что каталог, в который JBoss пытается переместить / создать файлы, имеет индекс, который больше нельзя редактировать. Из любопытства я казнил ls -l /data/ftp/statistik/processed/ | wc -l в каталоге, где я думал, должен содержать только несколько файлов, состоящих из 193074 файлы. И я переместил половину из них в другую папку, и ошибка больше не появлялась. Итак, вывод состоит в том, что у меня было слишком много файлов в одном каталоге, что привело к тому, что его индекс был недоступен для редактирования

Другие вопросы по тегам