我真的很难在我的 Ubuntu 服务器上处理这些结果。我的 JBoss 服务器有一个主要问题,当 JBoss 尝试创建/移动文件时,我会FileNotFoundExceptions
遇到错误:"No space left on device"
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 -----
@Pedro Sousa:
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
。我将其中一半文件移至另一个文件夹,错误不再出现。所以结论是,我在一个目录中有太多文件,导致其索引不可编辑