Melacak di mana ruang disk sudah di Linux?


532

Ketika mengelola sistem Linux, saya sering menemukan diri saya kesulitan untuk melacak pelakunya setelah partisi penuh. Saya biasanya menggunakan du / | sort -nrtetapi pada sistem file besar ini membutuhkan waktu lama sebelum hasilnya dikembalikan.

Juga, ini biasanya berhasil dalam menyoroti pelaku terburuk tetapi saya sering menemukan diri saya terpaksa dutanpa sort dalam kasus yang lebih halus dan kemudian harus menjelajah melalui output.

Saya lebih suka solusi command line yang bergantung pada perintah Linux standar karena saya harus mengelola beberapa sistem dan menginstal perangkat lunak baru itu merepotkan (terutama ketika kehabisan ruang disk!)


1
@Bart, terima kasih telah meluangkan waktu untuk memperbaiki posting di sini, tetapi bolehkah saya meminta Anda untuk sedikit lebih berhati-hati saat menambahkan tag? Tag bukan untuk visibilitas, mereka menggambarkan pertanyaan. Tag disk tidak sesuai di sini (lihat deskripsi tagnya), dan setidaknya dua tag yang Anda tambahkan dalam pengeditan yang disarankan ini tidak sesuai di sana (Kali bukan Debian, dan tidak ada PPA yang terlibat).
Stephen Kitt

Jawaban:


614

Coba ncdu, penganalisis penggunaan disk baris perintah yang luar biasa:

masukkan deskripsi gambar di sini


6
Biasanya, saya benci diminta untuk menginstal sesuatu untuk memecahkan masalah sederhana, tetapi ini bagus sekali.
gwg

14
sudo apt install ncdudi ubuntu mendapatkannya dengan mudah. Ini luar biasa
Orion Edwards

10
Anda mungkin tahu sistem file mana yang kekurangan ruang. Dalam hal ini Anda dapat menggunakan ncdu -xuntuk hanya menghitung file dan direktori pada sistem file yang sama dengan direktori yang sedang dipindai.
Luke Cousins

7
jawaban Terbaik. juga: sudo ncdu -rx /harus memberikan pembacaan bersih pada direktori / file terbesar HANYA pada drive area root. ( -r= read-only, -x = tetap pada filesystem yang sama (artinya: jangan melintasi mount filesystem lain))
bshea

5
Saya memiliki sedikit ruang sehingga saya tidak dapat menginstal ncdu
Chris

337

Jangan langsung ke du /. Gunakan dfuntuk menemukan partisi yang menyakiti Anda, dan kemudian coba duperintah.

Salah satu yang ingin saya coba adalah

# U.S.
du -h <dir> | grep '[0-9\.]\+G'
# Others
du -h <dir> | grep '[0-9\,]\+G'

karena mencetak ukuran dalam "bentuk yang dapat dibaca manusia". Kecuali Anda memiliki partisi yang sangat kecil, mencari direktori di gigabytes adalah filter yang cukup bagus untuk apa yang Anda inginkan. Ini akan memakan waktu, tetapi kecuali jika Anda memiliki kuota yang diatur, saya pikir itulah yang akan terjadi.

Seperti @jchavannes tunjukkan dalam komentar, ekspresi bisa menjadi lebih tepat jika Anda menemukan terlalu banyak positif palsu. Saya memasukkan saran, yang memang membuatnya lebih baik, tetapi masih ada positif palsu, jadi hanya ada pengorbanan (expr sederhana, hasil lebih buruk; expr lebih kompleks dan lebih lama, hasil lebih baik). Jika Anda memiliki terlalu banyak direktori kecil yang muncul di output Anda, sesuaikan regex Anda. Sebagai contoh,

grep '^\s*[0-9\.]\+G'

bahkan lebih akurat (direktori <1GB tidak akan terdaftar).

Jika Anda lakukan memiliki kuota, Anda dapat menggunakan

quota -v

untuk menemukan pengguna yang memonopoli disk.


2
Ini sangat cepat, sederhana dan praktis
zzapper

24
grep '[0-9]G'mengandung banyak positif palsu dan juga menghilangkan desimal. Ini bekerja lebih baik untuk saya:sudo du -h / | grep -P '^[0-9\.]+G'
jchavannes

1
Jika Anda memiliki direktori yang sangat besar, Anda akan menginginkannya [GT]bukan hanyaG
Vitruvius

1
Apakah ada alat yang akan terus memantau penggunaan disk di semua direktori (dengan malas) di sistem file? Sesuatu yang dapat dialirkan ke UI web? Informasi soft-realtime yang disukai.
CMCDragonkai

20
Saya suka menggunakandu -h | sort -hr | head
augurar

104

Untuk tampilan pertama, gunakan tampilan "ringkasan" dari du:

du -s /*

Efeknya adalah untuk mencetak ukuran setiap argumennya, yaitu setiap folder root dalam kasus di atas.

Lebih lanjut, GNUdu dan BSDdu dapat dibatasi oleh kedalaman ( tetapi POSIX dutidak bisa! ):

  • GNU (Linux, ...):

    du --max-depth 3
  • BSD (macOS, ...):

    du -d 3
    

Ini akan membatasi tampilan output hingga kedalaman 3. Tentu saja ukuran yang dihitung dan ditampilkan masih total dari kedalaman penuh. Namun demikian, membatasi kedalaman tampilan secara drastis mempercepat perhitungan.

Opsi bermanfaat lainnya adalah -h(kata-kata pada GNU dan BSD tetapi, sekali lagi, bukan pada POSIX-only du) untuk output "yang dapat dibaca manusia" (yaitu menggunakan KiB, MiB dll .).


23
jika dumengeluh tentang -dmencoba --max-depth 5sebagai gantinya.
ReactiveRaven

8
Jawaban yang bagus. Tampaknya benar bagi saya. Saya sarankan du -hcd 1 /directory. -h untuk dibaca manusia, c untuk total dan d untuk kedalaman.

Saya menggunakandu -hd 1 <folder to inspect> | sort -hr | head
jonathanccalixto

du --max-depth 5 -h /* 2>&1 | grep '[0-9\.]\+G' | sort -hr | headuntuk menyaring Izin ditolak
srghma

49

Anda juga dapat menjalankan perintah berikut menggunakan du:

~# du -Pshx /* 2>/dev/null
  • The -spilihan merangkum dan menampilkan total untuk setiap argumen.
  • h mencetak Mio, Gio, dll.
  • x = tetap dalam satu sistem file (sangat berguna).
  • P = jangan ikuti symlinks (yang dapat menyebabkan file dihitung dua kali misalnya).

Hati-hati, /rootdirektori tidak akan ditampilkan, Anda harus menjalankan ~# du -Pshx /root 2>/dev/nulluntuk mendapatkan itu (sekali, saya berjuang banyak tidak menunjukkan bahwa /rootdirektori saya sudah penuh).

Edit: Opsi terkoreksi -P


2
du -Pshx .* * 2>/dev/null+ direktori tersembunyi / sistem
Mykhaylo Adamovych

27

Menemukan file terbesar di sistem file selalu akan memakan waktu lama. Menurut definisi Anda harus menelusuri seluruh sistem file untuk mencari file besar. Satu-satunya solusi adalah menjalankan cron job di semua sistem Anda agar file siap sebelumnya.

Satu hal lagi, opsi x du berguna untuk mencegah du mengikuti titik mount ke sistem file lain. Yaitu:

du -x [path]

Perintah penuh yang biasanya saya jalankan adalah:

sudo du -xm / | sort -rn > usage.txt

The -mberarti kembali hasil dalam megabyte, dan sort -rnakan mengurutkan hasil jumlah terbesar pertama. Anda kemudian dapat membuka use.txt di editor, dan folder terbesar (dimulai dengan /) akan berada di atas.


3
Terima kasih telah menunjukkan -xbenderanya!
SamB

1
"Menemukan terbesar membutuhkan waktu lama .." -> Yah itu tergantung, tetapi cenderung tidak setuju: tidak butuh waktu lama dengan utilitas seperti ncdu- setidaknya lebih cepat dari duatau find(tergantung pada kedalaman dan argumen) ..
bshea

karena saya lebih suka tidak menjadi root, saya harus beradaptasi di mana file tersebut ditulis:sudo du -xm / | sort -rn > ~/usage.txt
Bruno

20

Saya selalu menggunakan du -sm * | sort -n, yang memberi Anda daftar diurutkan berapa banyak subdirektori dari direktori kerja saat ini habis, dalam mebibytes.

Anda juga dapat mencoba Konqueror, yang memiliki mode "ukuran tampilan", yang mirip dengan apa yang dilakukan WinDirStat pada Windows: ia memberi Anda gambaran viual file / direktori mana yang menggunakan sebagian besar ruang Anda.

Pembaruan: pada versi yang lebih baru, Anda juga dapat menggunakan du -sh * | sort -hyang akan menampilkan filesize yang dapat dibaca manusia dan mengurutkannya. (angka akan berakhiran dengan K, M, G, ...)

Untuk orang-orang yang mencari alternatif untuk tampilan ukuran file Konqueror KDE3 dapat melihat filelight, meskipun itu tidak begitu baik.


Itu hanya Konqueror 3.x - tampilan ukuran file masih belum di-porting ke KDE4.

'du -sh * | sort -h 'berfungsi sempurna di kotak Linux (Centos distro) saya. Terima kasih!
pahariayogi

18

Saya menggunakan ini untuk 25 pelanggar terburuk teratas di bawah direktori saat ini

# -S to not include subdir size, sorted and limited to top 25
du -S . | sort -nr | head -25

Perintah ini melakukan trik untuk menemukan folder tersembunyi yang tampaknya semakin bertambah ukuran seiring waktu. Terima kasih!
thegreendroid

Apakah ini dalam byte?
Pengguna

Secara default, pada sistem saya, 'du -S' memberikan output yang dapat dibaca manusia. Anda mendapatkan jumlah byte sederhana untuk file kecil, lalu angka dengan akhiran 'KB' atau 'MB' untuk file yang lebih besar.
serg10

Anda bisa melakukan du -Sh untuk mendapatkan output yang dapat dibaca manusia.
Siddhartha

@Siddhartha Jika Anda menambahkan -h, kemungkinan akan mengubah efek dari sort -nrperintah - artinya pengurutan tidak akan berfungsi lagi, dan kemudian headperintah juga tidak akan berfungsi lagi
Clare Macrae

14

Di perusahaan sebelumnya, kami dulu memiliki pekerjaan cron yang dijalankan semalam dan mengidentifikasi file apa pun dengan ukuran tertentu, misalnya

temukan / -ukuran + 10000k

Anda mungkin ingin lebih selektif tentang direktori yang Anda cari, dan hati-hati terhadap semua drive yang dipasang dari jarak jauh yang mungkin offline.


Anda dapat menggunakan -x opsi find untuk memastikan Anda tidak menemukan file di perangkat lain selain titik awal dari perintah find Anda. Ini memperbaiki masalah drive yang dipasang dari jarak jauh.
rjmunro

10

Salah satu opsi adalah menjalankan perintah du / sort Anda sebagai tugas cron, dan menghasilkan file, jadi sudah ada di sana saat Anda membutuhkannya.


9

Untuk commandline saya pikir metode du / sort adalah yang terbaik. Jika Anda tidak berada di server, Anda harus melihat Baobab - Penganalisis penggunaan disk . Program ini juga membutuhkan waktu untuk dijalankan, tetapi Anda dapat dengan mudah menemukan sub direktori yang dalam, jauh di bawah semua ISO Linux yang lama.


2
Itu juga dapat memindai folder jarak jauh melalui SSH, FTP, SMB dan WebDAV.

Ini bagus. Beberapa hal hanya berfungsi lebih baik dengan GUI untuk memvisualisasikannya, dan ini adalah salah satunya! Saya memerlukan X-server di server saya lagi untuk CrashPlan, jadi itu berfungsi juga.
penentu waktu

9

saya menggunakan

du -ch --max-depth=2 .

dan saya mengubah kedalaman maksimum sesuai dengan kebutuhan saya. Opsi "c" mencetak total untuk folder dan opsi "h" mencetak ukuran dalam K, M, atau G yang sesuai. Seperti yang dikatakan orang lain, masih memindai semua direktori, tetapi membatasi output dengan cara yang saya temukan lebih mudah untuk menemukan direktori besar.


9

Saya akan ke urutan kedua xdiskusage. Tapi saya akan menambahkan dalam catatan bahwa itu sebenarnya adalah frontend du dan dapat membaca output du dari file. Jadi Anda dapat menjalankan du -ax /home > ~/home-duserver Anda, scpfile kembali, dan kemudian menganalisisnya secara grafis. Atau pipa melalui ssh.


6

Coba masukkan output dari du ke skrip awk sederhana yang memeriksa untuk melihat apakah ukuran direktori lebih besar dari beberapa ambang batas, jika demikian mencetaknya. Anda tidak harus menunggu seluruh pohon dilintasi sebelum Anda mulai mendapatkan info (vs. banyak jawaban lainnya).

Misalnya, berikut ini menampilkan direktori apa pun yang mengkonsumsi lebih dari sekitar 500 MB.

du -kx / | awk '{ if ($1 > 500000) { print $0} }'

Untuk membuat hal di atas sedikit lebih dapat digunakan kembali, Anda dapat mendefinisikan suatu fungsi di .bashrc Anda, (atau Anda bisa membuatnya menjadi skrip mandiri).

dubig() {
    [ -z "$1" ] && echo "usage: dubig sizethreshMB [dir]" && return
    du -kx $2 | awk '{ if ($1 > '$1'*1024) { print $0} }'
}

Jadi dubig 200 ~/terlihat di bawah direktori home (tanpa mengikuti symlinks off device) untuk direktori yang menggunakan lebih dari 200 MB.


Sangat disayangkan bahwa selusin hack grep lebih terunggulkan. Oh dan du -kakan membuatnya sangat yakin bahwa du menggunakan unit KB
ndemou

Ide bagus tentang -k. Diedit.
Mark Borgerding

Bahkan lebih sederhana dan lebih kuat: du -kx $2 | awk '$1>'$(($1*1024))(jika Anda hanya menentukan kondisi alias pola untuk memulai tindakan defaultnya print $0)
dave_thompson_085

Poin bagus @ date_thompson_085. Itu berlaku untuk semua versi awk yang saya tahu (net / free-BSD & GNU). @ mark-borgerding jadi ini berarti Anda bisa sangat menyederhanakan contoh pertama Anda menjadi hanyadu -kx / | awk '$1 > 500000'
ndemou

@ mark-borgerding: Jika Anda hanya memiliki beberapa kBytes yang tersisa di suatu tempat Anda juga dapat menyimpan seluruh output du seperti ini du -kx / | tee /tmp/du.log | awk '$1 > 500000'. Ini sangat membantu karena jika pemfilteran pertama Anda ternyata tidak membuahkan hasil, Anda dapat mencoba nilai-nilai lain seperti ini awk '$1 > 200000' /tmp/du.logatau memeriksa output lengkap seperti ini sort -nr /tmp/du.log|lesstanpa memindai ulang seluruh sistem file
ndemou

4

Saya suka xdiskusage tua yang bagus sebagai alternatif grafis untuk du (1).


Perhatikan bagian pertanyaan ini: "Saya lebih suka solusi baris perintah yang bergantung pada perintah Linux standar sejak ..."
ndemou

4

Saya lebih suka menggunakan yang berikut untuk mendapatkan ikhtisar dan menelusuri dari sana ...

cd /folder_to_check
du -shx */

Ini akan menampilkan hasil dengan output yang dapat dibaca manusia seperti GB, MB. Ini juga akan mencegah traverse melalui sistem file jarak jauh. The -spilihan hanya menunjukkan ringkasan dari setiap folder yang ditemukan sehingga Anda dapat menelusuri lebih lanjut jika tertarik rincian lebih lanjut dari folder. Ingatlah bahwa solusi ini hanya akan menampilkan folder sehingga Anda ingin menghilangkan / setelah tanda bintang jika Anda menginginkan file juga.


4

Tidak disebutkan di sini tetapi Anda juga harus memeriksa lsof jika ada file yang dihapus / digantung. Saya memiliki file tmp 5.9GB yang dihapus dari cronjob yang melarikan diri.

https://serverfault.com/questions/207100/how-can-i-find-phantom-storage-usage Membantu saya mencari pemilik proses dari file tersebut (cron) dan kemudian saya bisa /proc/{cron id}/fd/{file handle #}mengurangi file di pertanyaan untuk memulai pelarian, atasi itu, dan kemudian gema ""> file untuk membersihkan ruang dan biarkan cron dengan anggun menutup sendiri.


3

Dari terminal, Anda bisa mendapatkan representasi visual dari penggunaan disk dengan dutree

Ini sangat cepat dan ringan karena diterapkan di Rust

dutree

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number

Lihat semua detail penggunaan di situs web


2

Untuk du baris perintah (dan opsi itu) tampaknya menjadi cara terbaik. DiskHog sepertinya menggunakan du / df info dari cron job juga sehingga saran Peter mungkin merupakan kombinasi terbaik dari yang sederhana dan efektif.

( FileLight dan KDirStat ideal untuk GUI.)


2

Anda dapat menggunakan alat standar seperti finddan sortuntuk menganalisis penggunaan ruang disk Anda.

Daftar direktori yang diurutkan berdasarkan ukurannya:

find / -mount -type d -exec du -s "{}" \; | sort -n

Daftar file yang diurutkan berdasarkan ukurannya:

find / -mount -printf "%k\t%p\n" | sort -n

1
Saya menemukan ini menjadi jawaban terbaik, untuk mendeteksi ukuran besar dalam urutan diurutkan
vimal krishna

2

Mungkin patut untuk dicatat bahwa mc(Midnight Commander, manajer file mode teks klasik) secara default hanya menunjukkan ukuran inode direktori (biasanya 4096) tetapi dengan CtrlSpaceatau dengan Alat menu Anda dapat melihat ruang yang ditempati oleh direktori yang dipilih dalam sebuah tulisan yang dapat dibaca manusia. format (misalnya, beberapa suka 103151M).

Sebagai contoh, gambar di bawah ini menunjukkan ukuran penuh dari distribusi vanilla TeX Live tahun 2018 dan 2017, sedangkan versi tahun 2015 dan 2016 hanya menunjukkan ukuran inode (tetapi masing-masing hampir 5 Gb).

Artinya, CtrlSpaceharus dilakukan satu per satu, hanya untuk level direktori yang sebenarnya, tetapi sangat cepat dan praktis ketika Anda bernavigasi dengan mcyang mungkin Anda tidak perlu ncdu(yang memang, hanya untuk tujuan ini lebih baik). Jika tidak, Anda juga dapat lari ncdudari mc. tanpa keluar dari mcatau meluncurkan terminal lain.

mwe


1

Pada awalnya saya memeriksa ukuran direktori, seperti:

du -sh /var/cache/*/

1

Jika Anda tahu bahwa file besar telah ditambahkan dalam beberapa hari terakhir (katakanlah, 3), maka Anda dapat menggunakan perintah find bersama " ls -ltra" untuk menemukan file yang baru ditambahkan:

find /some/dir -type f -mtime -3 -exec ls -lart {} \;

Ini akan memberi Anda hanya file (" -type f"), bukan direktori; hanya file dengan waktu modifikasi selama 3 hari terakhir (" -mtime -3") dan jalankan " ls -lart" terhadap setiap file yang ditemukan (" -exec" bagian).


1

Untuk memahami penggunaan ruang disk yang tidak proporsional, sering kali berguna untuk memulai di direktori root dan menelusuri beberapa anak terbesarnya.

Kita bisa melakukannya dengan

  • menyimpan output du ke dalam file
  • memahami hasilnya secara iteratif

Itu adalah:

# sum up the size of all files and directories under the root filesystem
du -a -h -x / > disk_usage.txt
# display the size of root items
grep $'\t/[^/]*$' disk_usage.txt

sekarang katakanlah / usr tampak terlalu besar

# display the size of /usr items
grep $'\t/usr/[^/]*$' disk_usage.txt

sekarang jika / usr / local mencurigakan besar

# display the size /usr/local items
grep $'\t/usr/local/[^/]*$' disk_usage.txt

dan seterusnya...


1

Saya telah menggunakan perintah ini untuk menemukan file yang lebih besar dari 100 MB:

find / -size +100M -exec ls -l {} \;

0

Saya telah berhasil melacak pelanggar terburuk (s) piping duoutput dalam bentuk yang dapat dibaca manusia egrepdan cocok dengan ekspresi reguler.

Sebagai contoh:

du -h | egrep "[0-9]+G.*|[5-9][0-9][0-9]M.*"

yang seharusnya mengembalikan semuanya 500 MB atau lebih tinggi.


Jangan gunakan grep operasi aritmatika - penggunaan awk gantinya: du -k | awk '$1 > 500000'. Jauh lebih mudah untuk memahami, mengedit, dan memperbaiki pada percobaan pertama.
ndemou

0

Jika Anda menginginkan kecepatan, Anda dapat mengaktifkan kuota pada sistem file yang ingin Anda pantau (Anda tidak perlu menetapkan kuota untuk pengguna mana pun), dan menggunakan skrip yang menggunakan perintah kuota untuk mendaftar ruang disk yang digunakan oleh setiap pengguna. Misalnya:

quota -v $user | grep $filesystem | awk '{ print $2 }'

akan memberi Anda penggunaan disk dalam blok untuk pengguna tertentu pada sistem file tertentu. Anda harus dapat memeriksa penggunaan dalam hitungan detik dengan cara ini.

Untuk mengaktifkan kuota, Anda perlu menambahkan usrquota ke opsi sistem file di file / etc / fstab Anda dan kemudian mungkin reboot sehingga kuota cek dapat dijalankan pada sistem file idle sebelum kuotaon dipanggil.


0

Berikut adalah aplikasi kecil yang menggunakan pengambilan sampel dalam untuk menemukan tumor di disk atau direktori apa pun. Itu berjalan pohon direktori dua kali, sekali untuk mengukurnya, dan kedua kalinya untuk mencetak jalan ke 20 byte "acak" di bawah direktori.

void walk(string sDir, int iPass, int64& n, int64& n1, int64 step){
    foreach(string sSubDir in sDir){
        walk(sDir + "/" + sSubDir, iPass, n, n1, step);
    }
    foreach(string sFile in sDir){
        string sPath = sDir + "/" + sFile;
        int64 len = File.Size(sPath);
        if (iPass == 2){
            while(n1 <= n+len){
               print sPath;
               n1 += step;
            }
        }
        n += len;
    }
}

void dscan(){
    int64 n = 0, n1 = 0, step = 0;
    // pass 1, measure
    walk(".", 1, n, n1);
    print n;
    // pass 2, print
    step = n/20; n1 = step/2; n = 0;
    walk(".", 2, n, n1);
    print n;
}

Outputnya terlihat seperti ini untuk direktori Program Files saya:

 7,908,634,694
.\ArcSoft\PhotoStudio 2000\Samples\3.jpg
.\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip
.\Common Files\Wise Installation Wizard\WISDED53B0BB67C4244AE6AD6FD3C28D1EF_7_0_2_7.MSI
.\Insightful\splus62\java\jre\lib\jaws.jar
.\Intel\Compiler\Fortran\9.1\em64t\bin\tselect.exe
.\Intel\Download\IntelFortranProCompiler91\Compiler\Itanium\Data1.cab
.\Intel\MKL\8.0.1\em64t\bin\mkl_lapack32.dll
.\Java\jre1.6.0\bin\client\classes.jsa
.\Microsoft SQL Server\90\Setup Bootstrap\sqlsval.dll
.\Microsoft Visual Studio\DF98\DOC\TAPI.CHM
.\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\sqlce20sql2ksp1.exe
.\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs\Partition II Metadata.doc
.\Microsoft Visual Studio .NET 2003\Visual Studio .NET Enterprise Architect 2003 - English\Logs\VSMsiLog0A34.txt
.\Microsoft Visual Studio 8\Microsoft Visual Studio 2005 Professional Edition - ENU\Logs\VSMsiLog1A9E.txt
.\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\mipsiv\NETCFv2.wce5.mipsiv.cab
.\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i\UafxcW.lib
.\Microsoft Visual Studio 8\VC\ce\Dll\mipsii\mfc80ud.pdb
.\Movie Maker\MUI\0409\moviemk.chm
.\TheCompany\TheProduct\docs\TheProduct User's Guide.pdf
.\VNI\CTT6.0\help\StatV1.pdf
7,908,634,694

Ini memberitahu saya bahwa direktori tersebut 7.9gb, di antaranya

  • ~ 15% masuk ke kompiler Intel Fortran
  • ~ 15% jatuh ke VS .NET 2003
  • ~ 20% berlaku untuk VS 8

Cukup sederhana untuk bertanya apakah semua ini dapat dibongkar.

Ini juga menceritakan tentang jenis file yang didistribusikan di seluruh sistem file, tetapi secara bersama-sama mewakili peluang untuk menghemat ruang:

  • ~ 15% kurang lebih masuk ke file .cab dan .MSI
  • ~ 10% kurang lebih masuk ke pendataan file teks

Ini menunjukkan banyak hal lain di sana juga, yang mungkin bisa saya lakukan tanpa, seperti "SmartDevices" dan "ce" dukungan (~ 15%).

Memang butuh waktu linier, tetapi tidak harus sering dilakukan.

Contoh hal yang telah ditemukan:

  • salinan cadangan DLL dalam banyak repositori kode tersimpan, yang tidak benar - benar perlu disimpan
  • salinan cadangan dari hard drive seseorang di server, di bawah direktori yang tidak jelas
  • banyak file internet sementara
  • dokumen kuno dan file bantuan sudah lama dibutuhkan

0

Saya memiliki masalah serupa, tetapi jawaban pada halaman ini tidak cukup. Saya menemukan perintah berikut sebagai yang paling berguna untuk daftar:

du -a / | sort -n -r | head -n 20

Yang akan menunjukkan kepada saya 20 pelanggar terbesar. Namun meskipun saya menjalankan ini, itu tidak menunjukkan kepada saya masalah sebenarnya, karena saya sudah menghapus file. Tangkapannya adalah bahwa ada proses yang masih berjalan yang mereferensikan file log yang dihapus ... jadi saya harus membunuh proses itu terlebih dahulu kemudian ruang disk muncul sebagai gratis.


Poin yang bagus tetapi ini harus berupa komentar dan bukan jawaban dengan sendirinya - pertanyaan ini terlalu banyak
dijumpai

0

Anda dapat menggunakan DiskReport.net untuk menghasilkan laporan web online semua disk Anda.

Dengan banyak proses, ini akan menampilkan grafik riwayat untuk semua folder Anda, mudah untuk menemukan apa yang telah tumbuh


Alat ini tidak cocok dengan dua poin utama dari pertanyaan "Saya sering menemukan diri saya berjuang untuk melacak pelakunya setelah partisi penuh" dan "Saya lebih suka solusi baris perintah yang bergantung pada perintah Linux standar"
ndemou

0

Ada sepotong freeware lintas-platform yang bagus yang disebut JDiskReport yang mencakup GUI untuk mengeksplorasi apa yang mengambil semua ruang itu.

Tangkapan layar contoh:
Tangkapan layar JDiskReport

Tentu saja, Anda perlu membersihkan sedikit ruang secara manual sebelum Anda dapat mengunduh dan menginstalnya, atau mengunduhnya ke drive lain (seperti USB thumbdrive).


(Disalin di sini dari jawaban penulis yang sama pada pertanyaan rangkap)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.