ඉනෝඩ භාවිතා කරන්නේ කොහේදැයි සොයා බලන්න


201

එබැවින් ගොනු පද්ධතියක නොමිලේ ඉනෝඩ ගණන අඩු වෙමින් පවතින බවට අපගේ එක් පෙට්ටියක අපගේ අධීක්ෂණ පද්ධතියෙන් මට අනතුරු ඇඟවීමක් ලැබුණි.

df -i ප්‍රතිදානය මෙය පෙන්වයි:

Filesystem       Inodes  IUsed    IFree IUse% Mounted on
/dev/xvda1       524288 422613   101675   81% /

ඔබට පෙනෙන පරිදි, මූල කොටසෙහි එහි ඉනෝඩ වලින් 81% ක් භාවිතා කර ඇත.
මම හිතන්නේ ඒවා සියල්ලම තනි නාමාවලියක භාවිතා වේ. නමුත් එය ඇති තැන මා සොයා ගන්නේ කෙසේද?

Answers:


224

මම මෙම ප්‍රශ්නය ස්ටැක් ඕවර් ප්‍රවාහයෙන් දුටුවෙමි, නමුත් මම පිළිතුරු කිසිවක් කැමති නැත, එය ඇත්ත වශයෙන්ම යූ ඇන්ඩ් එල් හි කෙසේ හෝ මෙහි තිබිය යුතු ප්‍රශ්නයකි.

ගොනු පද්ධතියේ සෑම ගොනුවක් සඳහාම මූලික වශයෙන් ඉනෝඩයක් භාවිතා වේ. එබැවින් සාමාන්‍යයෙන් ඉනෝඩ වලින් ඉවතට යාමෙන් අදහස් වන්නේ ඔබ සතුව කුඩා ලිපිගොනු විශාල ප්‍රමාණයක් ඇති බවයි. එබැවින් ප්‍රශ්නය සැබවින්ම බවට පත්වන්නේ, "ලිපිගොනු විශාල සංඛ්‍යාවක් ඇති නාමාවලිය කුමක්ද?"

මෙම අවස්ථාවේදී, අප සැලකිලිමත් වන ගොනු පද්ධතිය මූල ගොනු පද්ධතිය වේ /, එබැවින් අපට පහත විධානය භාවිතා කළ හැකිය:

find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n

මෙමඟින් එම නාමාවලියෙහි ඇති ගොනු ගණන (සහ උප බහලුම්) සමඟ පෙර සැකසූ ගොනු පද්ධතියේ සෑම නාමාවලියකම ලැයිස්තුවක් දමනු ඇත. මේ අනුව විශාලතම ලිපිගොනු සංඛ්‍යාවක් ඇති නාමාවලිය පතුලේ ඇත.

මගේ නඩුවේදී, මෙය පහත දැක්වේ:

   1202 /usr/share/man/man1
   2714 /usr/share/man/man3
   2826 /var/lib/dpkg/info
 306588 /var/spool/postfix/maildrop

එබැවින් මූලික වශයෙන් /var/spool/postfix/maildropසියලු ඉනෝඩ පරිභෝජනය කරයි.

සටහන, මෙම පිළිතුරට මට සිතිය හැකි අවවාද තුනක් තිබේ. එය මාර්ගයේ නව රේඛා සමඟ කිසිවක් නිසි ලෙස හසුරුවන්නේ නැත. මම මගේ ගොනු පද්ධතිය හිස් පේලි ගැන කිසිදු ගොනු ඇත, සහ මෙම පමණක් මිනිස් පරිභෝජනය සඳහා භාවිත කරනු ලැබේ සිට, විභව ප්රශ්නය (හා එක් විටම විස්ථාපනය කල හැකි වටිනා නිරාකරණය නොවන බව \nසමග \0හා භාවිතය sort -zඉහළ). ලිපිගොනු විශාල සංඛ්‍යාවක් අතර ලිපිගොනු පැතිරී ඇත්නම් එය හැසිරවිය නොහැක. මෙය එසේ නොවිය හැකි බැවින් අවදානම පිළිගත හැකි යැයි මම සලකමි. එය එකම ගොනුවකට දෘ link සබැඳි කිහිප වතාවක් ගණනය කරනු ඇත (එබැවින් එක් ඉනෝඩයක් පමණක් භාවිතා කිරීම). නැවතත්, ව්‍යාජ ධනාත්මක කරුණු ඉදිරිපත් කිරීමට අපහසුය


Stackoverflow පිළිතුරෙහි කිසිදු පිළිතුරකට මා අකමැති වීමට ප්‍රධාන හේතුව ඒවා සියල්ලම ගොනු පද්ධති සීමාවන් ඉක්මවා යාමයි. මගේ ගැටළුව මූල ගොනු පද්ධතියේ ඇති බැවින්, මෙයින් අදහස් කරන්නේ එය සවිකර ඇති සෑම ගොනු පද්ධතියක් හරහා ගමන් කරන බවයි. -xdevසොයා ගැනීමේ විධානයන් මතට විසි කිරීම නිසියාකාරව ක්‍රියාත්මක නොවේ.
නිදසුනක් වශයෙන්, වඩාත්ම උත්තරීතර පිළිතුර මෙයයි:

for i in `find . -type d `; do echo `ls -a $i | wc -l` $i; done | sort -n

අපි මෙය වෙනුවට වෙනස් කළහොත්

for i in `find . -xdev -type d `; do echo `ls -a $i | wc -l` $i; done | sort -n

/mnt/fooසවිකිරීමක් වුවද , එය මූල ගොනු පද්ධතියේ නාමාවලියකි, එබැවින් එය ඉහළට එනු ඇත find . -mount -type d, පසුව එය වෙතට යවනු ඇත ls -a $i, එය සවිකිරීමට කිමිදෙනු ඇත.

මෙම findමගේ පිළිතුරු වෙනුවට සවි සෑම තනි file බහලුම ලැයිස්තුගත කර ඇත. එබැවින් මූලික වශයෙන් ගොනු ව්‍යුහයක් සමඟ:

/foo/bar
/foo/baz
/pop/tart

අපි අවසන් කරනවා

/foo
/foo
/pop

එබැවින් අපට අනුපිටපත් පේළි ගණන ගණනය කළ යුතුය.


2
Answer මගේ පිළිතුරේ කොටසක් නොවන මොහ්සෙන්පාල්වන්සාඩේ, මෙම ප්‍රශ්නයට පොදු පිළිතුරක් බැවින් විසඳුමට මා අකමැති වීමට හේතුව ගැන අදහස් දක්වමින් සිටියෙමි.
පැට්රික්

7
සවිකිරීමේ ස්ථාන යටතේ ගොනු වෙත ප්‍රවේශ වීමට ඉඩ සලසන බැවින්, වෙනත් ගොනු පද්ධති සෙවීම වළක්වා ගැනීම සඳහා බන්ධන සවිකිරීමක් භාවිතා කිරීම වඩාත් ශක්තිමත් ක්‍රමයකි. උදා, සිතන්න මම යටතේ ලිපිගොනු 300,000 ක් නිර්මාණය කර /tmpපසුව tmpfs සවිකිරීමට පද්ධතිය වින්‍යාස කර ඇත /tmp. එවිට ඔබට findතනිවම ලිපිගොනු සොයාගත නොහැක . පෙනෙන පරිදි සෙනරියෝ, නමුත් සඳහන් කිරීම වටී.
ග්‍රේම්

2
වැඩ දෙකම වර්ග කිරීම ඉවත් කිරීමට සිදු වූයේ ප්‍රතිදානය ප්‍රමාණවත් තරම් විශාල වූ විට වර්ග කිරීම සඳහා ගොනුවක් සෑදිය යුතු බැවිනි.
qwertzguy

1
බව සටහන -printfOS X මෙහෙයුම් පද්ධතිය තුළ පවතින BSD අනුවාදය එය කිරීම නොකරයි, සොයා ගැනීමට GNU දීර්ඝ බව පෙනේ.
මොනිකා සෙලියෝ සඳහා එස්ඊ වර්ජනය කිරීම

1
සියලුම ලිපිගොනු තනි නාමාවලියක ඇතැයි උපකල්පනය කිරීම දුෂ්කර ය. එක් ඩිරෙක්ටරියක ඇති බොහෝ ලිපිගොනු වල නරක ක්‍රියාකාරිත්වයක් ඇති බවත්, ඒ අනුව මට්ටම් එකක් හෝ දෙකක් ඇති බවත් බොහෝ වැඩසටහන් දනී
PlasmaHH

27

අසන්නාගේ ඉල්ලීම පරිදි මෙය මෙතැන් සිට නැවත තැපැල් කරනු ලැබේ :

du --inodes -S | sort -rh | sed -n \
        '1,50{/^.\{71\}/s/^\(.\{30\}\).*\(.\{37\}\)$/\1...\2/;p}'

ඔබට එකම ගොනු පද්ධතියේ රැඳී සිටීමට අවශ්‍ය නම්:

du --inodes -xS

මෙන්න උදාහරණ ප්‍රතිදානය:

15K     /usr/share/man/man3
4.0K    /usr/lib
3.6K    /usr/bin
2.4K    /usr/share/man/man1
1.9K    /usr/share/fonts/75dpi
...
519     /usr/lib/python2.7/site-packages/bzrlib
516     /usr/include/KDE
498     /usr/include/qt/QtCore
487     /usr/lib/modules/3.13.6-2-MANJARO/build/include/config
484     /usr/src/linux-3.12.14-2-MANJARO/include/config

දැන් එල්එස් සමඟ:

කිහිප දෙනෙකු සඳහන් කළේ ඔවුන් සතුව යාවත්කාලීන කොරූටිල්ස් නොමැති බවත් --inodes විකල්පය ඔවුන්ට ලබා ගත නොහැකි බවත්ය. ඉතින්, මෙන්න ls:

ls ~/test -AiR1U | 
sed -rn '/^[./]/{h;n;};G;
    s|^ *([0-9][0-9]*)[^0-9][^/]*([~./].*):|\1:\2|p' | 
sort -t : -uk1.1,1n |
cut -d: -f2 | sort -V |
uniq -c |sort -rn | head -n10

ඔබ කුතුහලයෙන් සිටී නම්, එම වෙහෙසකර බිට් එකේ හදවත සහ ආත්මය එක් එක් පුනරාවර්තන සෙවුම් ප්‍රති results ල තුළ එය සොයාගත් නාමාවලි නාමය regexවෙනුවට ආදේශ කරයි . එතැන් සිට එය නැවත නැවතත් ඉනෝඩ සංඛ්‍යා මිරිකීමෙන් පසුව නැවත නැවත නාමාවලි නාම ගණනය කර ඒ අනුව වර්ග කිරීම පමණි.filenamels's

මෙම -Uවිකල්පය විශේෂයෙන් වර්ග නොකිරීමට වර්ග කිරීම සමඟ විශේෂයෙන් උපකාරී වන අතර ඒ වෙනුවට නාමාවලි ලැයිස්තුව මුල් අනුපිළිවෙලට ඉදිරිපත් කරයි - නැතහොත් වෙනත් වචන වලින් inodeඅංක අනුව.

ඔබ -1ලැයිස්තුවක් විග්‍රහ කිරීමට උත්සාහ කරන විට ඇතිවිය හැකි ලිපිගොනු නාමවල නව රේඛා හෝ වෙනත් දර්ශනීය අවාසනාවන්ත ගැටලු නොසලකා එය එක් පේළියකට එක් ප්‍රති result ලයක් සහතික කිරීම සඳහා ඇදහිය නොහැකි තරම් උපකාරී වේ.

ඇත්ත වශයෙන්ම -Aසියල්ලන්ටම සහ -iඉනෝඩ -Rසඳහා සහ පුනරාවර්තන සඳහා වන අතර එය එහි දිගු හා කෙටි වේ.

මේ සඳහා පාදක වන ක්‍රමය නම්, මම සෑම ls ගේ ගොනු නාමයක්ම එහි අඩංගු නාමාවලි නාමයෙන් sed වෙනුවට ආදේශ කිරීමයි. එතැනින් ඉදිරියට ... හොඳයි, මම ටිකක් නොපැහැදිලි ය. ඔබට මෙහි පෙනෙන පරිදි ලිපිගොනු නිවැරදිව ගණනය කරන බව මට විශ්වාසයි:

% _ls_i ~/test
> 100 /home/mikeserv/test/realdir
>   2 /home/mikeserv/test
>   1 /home/mikeserv/test/linkdir

මෙය මට duවිධානයට බොහෝ දුරට සමාන ප්‍රති results ල ලබා දෙයි :

ඩු:

15K     /usr/share/man/man3
4.0K    /usr/lib
3.6K    /usr/bin
2.4K    /usr/share/man/man1
1.9K    /usr/share/fonts/75dpi
1.9K    /usr/share/fonts/100dpi
1.9K    /usr/share/doc/arch-wiki-markdown
1.6K    /usr/share/fonts/TTF
1.6K    /usr/share/dolphin-emu/sys/GameSettings
1.6K    /usr/share/doc/efl/html

එල්එස්:

14686   /usr/share/man/man3:
4322    /usr/lib:
3653    /usr/bin:
2457    /usr/share/man/man1:
1897    /usr/share/fonts/100dpi:
1897    /usr/share/fonts/75dpi:
1890    /usr/share/doc/arch-wiki-markdown:
1613    /usr/include:
1575    /usr/share/doc/efl/html:
1556    /usr/share/dolphin-emu/sys/GameSettings:

මම හිතන්නේ includeකාරණය රඳා පවතින්නේ වැඩසටහන මුලින් බලන්නේ කුමන නාමාවලිය මතද යන්නයි - මන්ද ඒවා එකම ලිපිගොනු හා දෘඩ සබැඳි නිසාය. කරුණාව ඉහත දෙයට කැමතියි. මම ඒ ගැන වැරදියි - නමුත් මම නිවැරදි කිරීම සාදරයෙන් පිළිගනිමි ...

ඩු ඩෙමෝ

% du --version
> du (GNU coreutils) 8.22

පරීක්ෂණ නාමාවලියක් සාදන්න:

% mkdir ~/test ; cd ~/test
% du --inodes -S
> 1       .

සමහර ළමා නාමාවලි:

% mkdir ./realdir ./linkdir
% du --inodes -S
> 1       ./realdir
> 1       ./linkdir
> 1       .

ලිපිගොනු කිහිපයක් සාදන්න:

% printf 'touch ./realdir/file%s\n' `seq 1 100` | . /dev/stdin
% du --inodes -S
> 101     ./realdir
> 1       ./linkdir
> 1       .

සමහර දෘඩ සබැඳි:

% printf 'n="%s" ; ln ./realdir/file$n ./linkdir/link$n\n' `seq 1 100` | 
    . /dev/stdin
% du --inodes -S
> 101     ./realdir
> 1       ./linkdir
> 1       .

දෘඩ සබැඳි දෙස බලන්න:

% cd ./linkdir
% du --inodes -S
> 101

% cd ../realdir
% du --inodes -S
> 101

ඒවා තනිවම ගණන් කර ඇත, නමුත් එක් නාමාවලියක් ඉහළට යන්න ...

% cd ..
% du --inodes -S
> 101     ./realdir
> 1       ./linkdir
> 1       .

ඉන්පසු මම මගේ ධාවන පිටපත පහළින් ධාවනය කළෙමි:

> 100     /home/mikeserv/test/realdir
> 100     /home/mikeserv/test/linkdir
> 2       /home/mikeserv/test

සහ ග්‍රේම්ස්:

> 101 ./realdir
> 101 ./linkdir
> 3 ./

ඉතින් මම හිතන්නේ මෙයින් පෙනෙන්නේ ඉනෝඩ ගණනය කිරීමට ඇති එකම ක්‍රමය ඉනෝඩය බවයි. ලිපිගොනු ගණනය කිරීම යනු ඉනෝඩ ගණන් කිරීම නිසා, ඔබට දෙවරක් ඉනෝඩ ගණන් කළ නොහැක - ලිපිගොනු නිවැරදිව ගණනය කිරීම සඳහා එක් වරකට වඩා ගණනය කළ නොහැක.


2
එකතු කළ අනුවාදය --inodesකුමක්ද? කුමන "ප්‍රභේද" / "රස" / "පොසික්ස්-වන්නබේස්" / "ක්‍රියාත්මක කිරීම්" / එහි ඇති දේ මොනවාද?
n611x007

උබුන්ටු 14.04.5: du: හඳුනා නොගත් විකල්පය '--inodes'
පුට්නික්

du (GNU coreutils) 2014 සිට 8.23 ​​දක්වා එය ඇත (එය මගේ යල් පැන ගිය ඩෙබියන් ජෙසී තුළ ඇත). ඩේබියන්> උබුන්ටු එම ද pun ුවම ගැන කණගාටුයි: පී උබුන්ටු සතුව පැරණි පැකේජ තිබේ ...
ඩැනියෙල් ඩබ්ලිව්.

6

SO Q&A වෙතින් මම මෙම පිළිතුර භාවිතා කළෙමි: මගේ සියලු ඉනෝඩ භාවිතා කරන්නේ කොහේද? මීට වසර 2 කට පමණ පෙර අපගේ NAS අවසන් වූ විට:

$ find . -type d -print0 \
    | while IFS= read -rd '' i; do echo $(ls -a "$i" | wc -l) "$i"; done \
    | sort -n

උදාහරණයක්

$ find . -type d -print0 \
    | while IFS= read -rd '' i; do echo $(ls -a "$i" | wc -l) "$i"; done \
    | sort -n
...
110 ./MISC/nodejs/node-v0.8.12/out/Release/obj.target/v8_base/deps/v8/src
120 ./MISC/nodejs/node-v0.8.12/doc/api
123 ./apps_archive/monitoring/nagios/nagios-check_sip-1.3/usr/lib64/nagios
208 ./MISC/nodejs/node-v0.8.12/deps/openssl/openssl/doc/crypto
328 ./MISC/nodejs/node-v0.8.12/deps/v8/src
453 ./MISC/nodejs/node-v0.8.12/test/simple

උපාංගයේ ඉනෝඩ පරීක්ෂා කිරීම

ඔබගේ NAS මත පදනම්ව එය අංග සම්පූර්ණ dfවිධානයක් ලබා නොදේ . එබැවින් මෙම අවස්ථා වලදී ඔබට tune2fsඒ වෙනුවට භාවිතා කළ හැකිය :

$ sudo tune2fs -l /dev/sda1 |grep -i inode
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Inode count:              128016
Free inodes:              127696
Inodes per group:         2032
Inode blocks per group:   254
First inode:              11
Inode size:           128
Journal inode:            8
Journal backup:           inode blocks

ගොනු පද්ධති මායිම් තරණය කිරීම

ඔබට සෙවුම පටු -xdevකිරීමට සෘජුවම ස්විචය භාවිතා කළ හැකි අතර findඑය ඔබ සෙවීම ආරම්භ කරන උපාංගයට පමණි.

උදාහරණයක්

මගේ /homeනාමාවලිය මෝල්ඩර් වන මගේ NAS වෙතින් එන්එෆ්එස් කොටස් හරහා මගේ ඩිරෙක්ටරි ස්වයංක්‍රීය ගණනය කිරීම් ඇති බව පවසන්න.

$ df -h /home/sam 
Filesystem            Size  Used Avail Use% Mounted on
mulder:/export/raid1/home/sam
                      917G  572G  299G  66% /home/sam

සවිකිරීමේ ස්ථානය තවමත් පද්ධතියට දේශීය ලෙස සලකන බව සැලකිල්ලට ගන්න.

$ df -h /home/ .
Filesystem            Size  Used Avail Use% Mounted on
-                        0     0     0   -  /home
/dev/mapper/VolGroup00-LogVol00
                      222G  159G   52G  76% /

දැන් මම ආරම්භ කරන විට find:

$ find / -xdev  | grep '^/home'
/home

එය සොයා ගත් /homeනමුත් ස්වයංක්‍රීයව අන්තර්ගත කිසිවක් වෙනත් උපාංගයක නොමැති නිසා!

ගොනු පද්ධති වර්ග

ඔබට ස්විචය යොදාගත හැකියි find, -fstypeගොනු පද්ධති වල ගේ කුමන පාලනය කිරීමට findසොයා බලන ඇත.

   -fstype type
          File is on a filesystem of type type.  The valid filesystem types 
          vary among different versions of Unix; an incomplete list of 
          filesystem  types that are accepted on some version of Unix or 
          another is: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K.  You can use 
          -printf with the %F directive to see the types of your
          filesystems.

උදාහරණයක්

මා සතුව ඇති ගොනු පද්ධති මොනවාද?

$ find . -printf "%F\n" | sort -u
ext3

එබැවින් ඔබට හරස් මාර්ගය පාලනය කිරීමට මෙය භාවිතා කළ හැකිය:

ext3 පමණි

$ find . -fstype ext3 | head -5
.
./gdcm
./gdcm/gdcm-2.0.16
./gdcm/gdcm-2.0.16/Wrapping
./gdcm/gdcm-2.0.16/Wrapping/CMakeLists.txt

nfs පමණි

$ find . -fstype nfs | head -5
$ 

ext3 & ext4

$ find . -fstype ext3 -o -fstype ext4 | head -5
.
./gdcm
./gdcm/gdcm-2.0.16
./gdcm/gdcm-2.0.16/Wrapping
./gdcm/gdcm-2.0.16/Wrapping/CMakeLists.txt

ගොනු පද්ධති සීමාවන් ඉක්මවා යාම වැළැක්වීමට ඔබේ විසඳුම කුමක්ද? නම් වගේ /, කොහොමද? පිරී ඇත, ඔබ ජාලය ගොනු පද්ධති සවිකර ඇති, ඔබ ජාලය ගොනු පද්ධති තුළට කිමිදුම් යන්න ඕන නෑ.
පැට්රික්

At පැට්‍රික් - යාවත්කාලීනයන් බලන්න, ඔබට එය භාවිතා -fstypeකර පාලනය කළ හැකිය find.
slm

1
Il ගිලස් - සරල පිළිතුර ... සොයාගත් මිනිසාගේ පිටුවේ 8- පිටුවෙහි පිටුපසට නොගියේය
slm

Il ගිලස් - මෑන් පිටුවේ -xtypeගොනු පද්ධති බැහැර කරන බවක් නොපෙනේ , එය ගොනු වර්ගය දෙස බලයි. මම මෙවැනි උදාහරණ පමණක් find . \( -fstype nfs -prune \)
සොයමි

Il ගිලස් - findගොනු පද්ධති සීමාවන් ඉක්මවා නොයන්නේ කෙසේද යන්න පිළිබඳ අදහස් දැක්වීමේදී මම පැට්‍රික්ගේ Q අමතමින් සිටියෙමි . ඔහුගේ හිටපු. ඔහු සඳහන් කරන්නේ "පිරී තිබේ නම් / පිරී තිබේ නම්, ඔබ සතුව ජාල ගොනු පද්ධති සවිකර තිබේ නම්, ඔබට ජාල ගොනු පද්ධති තුළට කිමිදීමට අවශ්‍ය නැත".
slm


4

පහත දැක්වෙන විධානය භාවිතා කර පහළට සරඹ කිරීම ඉක්මන් හා පහසු බව මට පෙනේ:

$ sudo du -s --inodes * | sort -rn

170202  var
157325  opt
103134  usr
53383   tmp
<snip>

ඔබට පසුව varඋදාහරණයක් ලෙස ගොස් ඩිරෙක්ටරි භාවිතා කරන විශාල ඉනෝඩය කුමක්දැයි බලන්න.


මේ වගේ දෙයක් හොයනවා. ස්තූතියි
අන්වර්

3

සඳහා සවිස්තර ඉනෝඩ් භාවිතය ලැයිස්තුගත කිරීම සඳහා /, පහත විධානය භාවිතා කරන්න:

echo "Detailed Inode usage for: $(pwd)" ; for d in `find -maxdepth 1 -type d |cut -d\/ -f2 |grep -xv . |sort`; do c=$(find $d |wc -l) ; printf "$c\t\t- $d\n" ; done ; printf "Total: \t\t$(find $(pwd) | wc -l)\n" 

මෙහි සාදරයෙන් පිළිගනිමු! කරුණාකර, ඊළඟ වතාවේ ආකෘතිය වඩා හොඳ යැයි මම යෝජනා කරමි.
පීටර් - මොනිකා

1
එහි ඔන්ලයින් යන්ත්‍රයක්, එහි කිසිදු වරදක් මා දකින්නේ නැහැ.
sjas

2

ලිනක්ස් සහ යුනික්ස් වල ඉනෝඩ පිළිබඳ සංකල්පය අවබෝධ කර ගැනීමට උපරිම උඩුකුරු සමඟ නිසැකවම පිළිතුරු සපයන්න. කෙසේ වෙතත් තැටියෙන් ඉනෝඩ මකාදැමීමේ හෝ ඉවත් කිරීමේ සැබෑ ගැටළුව විසඳීමට එය සැබවින්ම උපකාරී නොවේ. උබුන්ටු පාදක පද්ධති මත මෙය කිරීමට සරල ක්‍රමයක් වන්නේ අනවශ්‍ය ලිනක්ස් කර්නල් ශීර්ෂ සහ රූප ඉවත් කිරීමයි.

sudo apt-get autoremove

ඔබ වෙනුවෙන් එය කරයි. මගේ නඩුවේදී, ඉනෝඩ් භාවිතය 78% ක් වූ අතර ඒ නිසා මට අනතුරු ඇඟවීමක් ලැබුණි.

$ df -i
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/xvda1     524288 407957 116331   78% /
none           957443      2 957441    1% /sys/fs/cgroup
udev           956205    388 955817    1% /dev
tmpfs          957443    320 957123    1% /run
none           957443      1 957442    1% /run/lock
none           957443      1 957442    1% /run/shm
none           957443      5 957438    1% /run/user

sudo apt-get autoremoveවිධානය ක්‍රියාත්මක කිරීමෙන් පසු එය 29% දක්වා පහත බැස ඇත

$ df -i
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/xvda1     524288 150472 373816   29% /
none           957443      2 957441    1% /sys/fs/cgroup
udev           956205    388 955817    1% /dev
tmpfs          957443    320 957123    1% /run
none           957443      1 957442    1% /run/lock
none           957443      1 957442    1% /run/shm
none           957443      5 957438    1% /run/user

මෙය මගේ කාලය ඉතිරි කර දුන් මගේ නිරීක්ෂණය පමණි. මිනිසුන්ට මීට වඩා හොඳ විසඳුමක් සොයා ගත හැකිය.


0

මෙතෙක් ලබා දී ඇති සෑම පිළිතුරක්ම උපකල්පනය කරන්නේ ගැටළුව බොහෝ ඩිරෙක්ටරියක් තුළ ඇති බොහෝ ලිපිගොනු වෙනුවට බොහෝ උප බහලුම් සියල්ලම ගැටලුවට දායක වන බවයි. වාසනාවකට මෙන් විසඳුම වන්නේ කොඩි අඩු ප්‍රමාණයක් භාවිතා කිරීමයි.

# du --inodes --one-file-system /var | sort --numeric-sort
...
2265    /var/cache/salt/minion
3818    /var/lib/dpkg/info
3910    /var/lib/dpkg
4000    /var/cache/salt/master/gitfs/refs
4489    /var/lib
5709    /var/cache/salt/master/gitfs/hash
12954   /var/cache/salt/master/gitfs
225058  /var/cache/salt/master/jobs
241678  /var/cache/salt/master
243944  /var/cache/salt
244078  /var/cache
248949  /var

හෝ කෙටි විකල්ප සමග: du --inodes -x | sort -n. අවාසනාවට සෑම අනුවාදයකටම duඉනෝඩ විකල්පයක් නොමැත.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.