Filesystem Inodes IUsed IFree IUse% Mounted on
udev 4030305 685 4029620 1% /dev
tmpfs 4040316 1252 4039064 1% /run
/dev/sdb1 477056 476282 774 100% /
tmpfs 4040316 399 4039917 1% /dev/shm
tmpfs 4040316 5 4040311 1% /run/lock
tmpfs 1024 17 1007 2% /sys/fs/cgroup
/dev/sda1 122101760 3865680 118236080 4% /media/2TB
/dev/loop2 62342 62342 0 100% /snap/gtk-common-themes/1506
/dev/loop0 26205 26205 0 100% /snap/telegram-desktop/2198
/dev/loop1 249 249 0 100% /snap/whatsdesk/20
/dev/loop3 10476 10476 0 100% /snap/go/6727
/dev/loop4 11573 11573 0 100% /snap/core20/634
/dev/loop5 12826 12826 0 100% /snap/core/10185
/dev/loop6 27807 27807 0 100% /snap/gnome-3-28-1804/145
/dev/loop7 10779 10779 0 100% /snap/core18/1932
/dev/loop8 62411 62411 0 100% /snap/wickrpro/495
/dev/loop9 62411 62411 0 100% /snap/wickrme/430
/dev/loop10 472 472 0 100% /snap/snapd/9721
tmpfs 808063 28 808035 1% /run/user/1000
/dev/loop11 63811 63811 0 100% /snap/gtk-common-themes/1513
root@desktop:/# df -h
Filesystem Size Used Avail Use% Mounted on
udev 16G 0 16G 0% /dev
tmpfs 3.1G 1.8M 3.1G 1% /run
/dev/sdb1 465G 214G 247G 47% /
tmpfs 16G 727M 15G 5% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/sda1 1.8T 1.6T 164G 91% /media/2TB
/dev/loop2 63M 63M 0 100% /snap/gtk-common-themes/1506
/dev/loop0 179M 179M 0 100% /snap/telegram-desktop/2198
/dev/loop1 639M 639M 0 100% /snap/whatsdesk/20
/dev/loop3 92M 92M 0 100% /snap/go/6727
/dev/loop4 61M 61M 0 100% /snap/core20/634
/dev/loop5 98M 98M 0 100% /snap/core/10185
/dev/loop6 163M 163M 0 100% /snap/gnome-3-28-1804/145
/dev/loop7 56M 56M 0 100% /snap/core18/1932
/dev/loop8 449M 449M 0 100% /snap/wickrpro/495
/dev/loop9 449M 449M 0 100% /snap/wickrme/430
/dev/loop10 31M 31M 0 100% /snap/snapd/9721
tmpfs 3.1G 44K 3.1G 1% /run/user/1000
/dev/loop11 65M 65M 0 100% /snap/gtk-common-themes/1513
내 2TB SSD에는 122101760개의 inode가 있고 내 500GB SSD에는 477056개의 inode가 있는 이유는 무엇입니까? 내 inode가 부족하고 SSD가 절반만 찼습니다.
답변1
Linux 시스템에서 파일 이름은 실제 파일(인덱스 노드)에 대한 링크일 뿐입니다. 파일을 생성할 때(심볼릭 링크라도) inode를 유지합니다. inode를 사용하여 파일을 생성하고 있습니다. 따라서 Linux에서 파일 시스템을 설정할 때 사용자(시스템)는 inode 수와 각 inode의 크기를 할당합니다. 귀하의 경우 465GB(499289948160바이트) 파일 시스템은 477056(수, 개수) inode로 나뉩니다. 이는 각 INODE가 499289948160 / 477056 = 1046606바이트(~1MB)를 갖는다는 것을 의미합니다.
킬로바이트 또는 심지어 바이트의 저장 공간만 필요한 링크된( ) 텍스트 파일을 생성하면 ln
inode를 차지하며 각 inode가 1MB이므로 빨리 소모됩니다.
실제로는 214GB를 사용했지만 작은 파일(inode)이 많기 때문에 정상적인 현상이므로 inode가 부족해집니다!
이 문제를 해결하려면 시스템을 다시 포맷할 수 있습니다(하지만 먼저 데이터를 백업한 다음 백업에서 데이터를 복원해야 합니다.).
mke2fs -t ext4 -I 1024 /dev/sdX1
1024를 선택하면 499289948160(SSD의 전체 바이트 수)을 1024로 나눠서 많은 아이노드를 얻게 되며 빨리 소모되지 않습니다.
답변2
XFS와 같은 일부 파일 시스템 유형은 요청 시 inode를 생성하고 필요한 경우 신속하게 재사용할 수 있도록 삭제된 파일에 대한 inode를 일정 기간 동안 보관할 수 있습니다.
더 작은 SSD에 XFS 파일 시스템이 있지만 더 큰 SSD에 ext4와 같은 클래식 스타일 파일 시스템이 있는 경우 이는 아마도 정상적이고 무해할 것입니다.