Saya menjalankan Ubuntu, seperti biasa, ketika tiba-tiba saya mendapat kotak dialog yang mengatakan bahwa saya hanya memiliki ruang kosong 1,2 GB yang tersisa. Satu jam sebelumnya, saya memiliki ruang kosong 30 GB.
Saya menghapus beberapa barang dan membawa ruang kosong hingga 25 GB. Namun itu terus menurun. Saya mencoba menghapus file log lama dan memotong file log dan semacamnya, dan itu terus berkurang!
Saya mencoba menggunakan Disk Analyzer untuk menemukan dari mana semua kehilangan ruang bebas ini berasal dan itu tidak berhasil, karena ia menunjukkan semuanya sebagaimana mestinya. Saya reboot dan akhirnya Ubuntu melakukan pemeriksaan disk yang entah bagaimana membawa ruang kosong kembali ke 40 GB tetapi masih terus berkurang sekitar 10 GB sehari. Saya terus mencoba dan menemukan cara baru untuk mengosongkan ruang, tetapi ini seperti proses otomatis mengurangi ruang disk yang tidak dapat saya hentikan.
Saya tidak tahu harus berbuat apa. Bagaimana saya bisa menemukan penyebabnya, dan menghentikan ruang kosong saya agar tidak berkurang?
Ini adalah output dari sudo du -sh /var/* ~/.xsession-errors
:
13M /var/backups
204M /var/cache
112M /var/crash
4.0K /var/games
503M /var/lib
4.0K /var/local
0 /var/lock
9.5G /var/log
85M /var/mail
4.0K /var/metrics
24K /var/opt
0 /var/run
1.7M /var/spool
391M /var/tmp
11G /var/tvmobili
20K /var/www
224K /home/school/.xsession-errors
sumber
sudo du -sh /var/* ~/.xsession-errors
tolong? (dua tempat yang saya harapkan akan meledak jika ada sesuatu yang konyol). Kalau tidak, saya dengan Eliah - ini menunjukkan masalah disk. Ambil ini dengan serius.Jawaban:
Anda mendapat beberapa log yang tidak terkontrol. Alih-alih menghapus seperti orang gila setiap hari, temukan file atau file yang tumbuh cepat, dan lihat ke dalam untuk menyelidiki apa yang menyebabkan ini. Mungkin beberapa program berputar dalam satu lingkaran, mencatat beberapa syarat. Baik menonaktifkan program itu, menonaktifkan logging-nya atau mencoba untuk memperbaiki kondisi yang dikeluhkannya.
Jika sebuah file tumbuh di depan mata Anda, dan Anda tidak tahu program mana yang menulisnya, Anda mungkin dapat menemukannya dengan mudah. Berikut ini sebuah contoh. Siapa yang
/var/log/syslog
membuka? Kami menggunakanfuser
perintah:Hanya satu proses yang
/var/log/syslog
terbuka. Ini adalah proses 602. Apa itu? Mari kita tidak repot-repot denganps
dangrep
, tetapi lihat/proc
filesystem secara langsung:Aha, benar
rsyslogd
. Kami tidak terkejut karenarsyslogd
telah/var/log/syslog/
terbuka.Metode ini tidak dijamin berfungsi. Alasannya adalah bahwa program tidak harus membuat file tetap terbuka untuk menulis kepada mereka. Misalkan Anda memiliki proses yang membuka file, menambahkannya, dan kemudian menutupnya. Anda akan memiliki penyelidikan yang agak lebih sulit. Anda bisa menjalankan
fuser
berkali-kali sampai kebetulan Anda menangkap proses "tangan merah". Proses itu sendiri bisa masuk dan keluar dari keberadaan dengan cepat. Masalah lain adalah beberapa proses dapat membuat file terbuka, tetapi hanya satu yang membuatnya lebih besar. Dalam hal ini, Anda dapat melacak panggilan sistem mereka.Ups! Dua proses membuatnya terbuka: 1234 dan 23459. Mari kita lihat apa yang mereka lakukan:
Itu tidak melakukan apa-apa, hanya memblokir
select
panggilan. Ctrl-C untuk menghentikan jejak:Periksa yang berikutnya:
Ups, yang itu terus-menerus menulis. Itu pasti yang buruk. Kita bahkan dapat memeriksa bahwa deskriptor file 5 yang menjadi proses penulisan sebenarnya adalah file besar:
Saya tidak curiga Anda memiliki sistem file yang rusak, tetapi untuk memaksakan pemeriksaan penuh, Anda tidak harus boot DVD.
Pertama, tinjau pengaturan jumlah maksimum pemasangan sistem file Anda. Identifikasi partisi Anda menggunakan perintah df. Contoh pada sistem Ubuntu yang saya miliki di sini:
Anda dapat melihat bahwa sistem
/
file sudah terpasang/dev/sda1
. Begitu/dev/sda1
juga perangkat penyimpanan partisi root (dan satu-satunya partisi dalam sistem khusus ini).Mari kita lihat beberapa atribut dari sistem file itu. Ini aman untuk dilakukan meskipun sudah terpasang. Perintah memuntahkan banyak output. Berikut ini kutipannya:
Hei lihat, jumlah pemasangan sama dengan jumlah pemasangan maksimum. Lain kali saya reboot, akan ada pemeriksaan sistem file. Yang penting adalah bahwa hitungan mount adalah nilai positif. Jika milik Anda nol, ubah ke beberapa nilai positif seperti 22 gunakan
tune2fs -c 22 /dev/whatever
. Nol berarti bahwa pemeriksaan tidak pernah dipaksakan terlepas dari berapa kali partisi tersebut dipasang. Sistem yang jarang dinyalakan ulang harus memiliki nilai rendah di sini. Sebuah server yang turun setahun sekali mungkin bisa menggunakan fsck setiap kali reboot. Anda dapat mengatur interval pemeriksaan berbasis tanggal juga.Sekarang untuk memaksa cek, Anda dapat mengganti jumlah aktual menjadi lebih besar atau sama dengan maksimum, dan kemudian reboot. Itu dilakukan dengan modal
C
:tune2fs -C 1234 /dev/whatever
. Sekarang partisi sepertinya telah dipasang 1234 kali tanpa cek, yang lebih besar dari maksimum satu atau dua digit.sumber
Pemeriksaan disk membebaskan beberapa ruang, menunjukkan bahwa masalah ini (atau bagian dari itu) mungkin karena korupsi sistem file. Jika itu masalahnya, maka Anda harus dapat mengosongkan lebih banyak ruang dengan memindai dan memperbaiki sistem file. Namun, jika korupsi terus-menerus terjadi (yang mungkin atau mungkin tidak terjadi), itu biasanya berarti hard drive sedang sekarat. Jika cadangan Anda (dari dokumen Anda dan file penting lainnya yang sulit untuk diganti) tidak sepenuhnya mutakhir, buat cadangan semua yang penting sekarang!
Untuk memeriksa dan memperbaiki disk, disk tidak dapat dipasang (setidaknya tidak baca-tulis). Jadi, Anda harus menjalankan utilitas perbaikan dari lingkungan hidup (live CD / DVD atau USB). Pertama, Anda harus mengetahui nama perangkat dari partisi yang berisi file Anda.
Oleh karena itu, dalam sistem yang diinstal , jalankan:
(Pastikan untuk memasukkan ruang antara
/
dan'
.)Anda akan mendapatkan sesuatu seperti:
Teks sebelum
on
- dalam contoh dari mesin saya,/dev/sda8
- adalah nama perangkat lengkap untuk partisi root Anda (/
). Tuliskan ini - Anda akan membutuhkannya.Kemudian boot komputer Anda dari CD / DVD desktop Ubuntu atau USB flash drive, seperti apa yang Anda gunakan untuk menginstal Ubuntu awalnya. (Jika ini adalah sistem Wubi, diinstal dengan installer Windows, beri tahu kami. Saya tidak mengharapkan itu, mengingat apa yang telah Anda laporkan, tetapi jika ini masalahnya, prosedurnya akan berbeda.)
Pilih Coba Ubuntu tanpa menginstal (bukan Instal Ubuntu ). Saat Anda mendapatkan desktop yang berfungsi, tekan Ctrl+ Alt+ Tuntuk membuka jendela Terminal. Kemudian jalankan perintah ini:
Tetapi pastikan untuk mengganti
/dev/sda8
dengan nama perangkat lengkap yang tepat untuk/
partisi Anda , seperti yang Anda peroleh melalui metode yang dijelaskan di atas.Ini mungkin memakan waktu cukup lama. The
c
pilihan termasuk dalam perintah yang menyebabkan itu untuk memindai permukaan disk untuk kesalahan serta filesystem (dan untuk menandai daerah-daerah yang buruk sebagai buruk sehingga mereka tidak digunakan). Anda dapat meninggalkancc
jika Anda suka (jika Anda melakukannya, Anda juga dapat meninggalkank
), tapi saya sarankan tetap menggunakannya.Anda mungkin diminta memperbaiki masalah tertentu, jika
e2fsck
berpikir ada kemungkinan signifikan bahwa mencoba memperbaikinya dapat menyebabkan kehilangan data. (Yangp
membuatnya sehingga akan memperbaiki masalah yang yakin dapat diperbaiki tanpa menyebabkan komplikasi.)Saya sarankan agar Anda cenderung memperbolehkannya memperbaiki apa pun yang diinginkannya, karena Anda seharusnya hanya melakukan ini setelah memastikan cadangan Anda mutakhir . Jika Anda ingin mencoba perbaikan yang bahkan berpotensi berbahaya tanpa diminta, ganti
p
dengany
.Setelah ini, boot kembali ke sistem Ubuntu Anda dan lihat apakah ruang kosong. Jika tidak, atau jika masalah berlanjut, beri komentar dan edit pertanyaan Anda untuk memberikan detail.
sumber
e2fsck
perintah itu cukup rendah, terutama jika Anda tidak menekany
apa pun yang memperingatkan Anda bahwa Anda mungkin kehilangan data. Tetapi menjalankan perintah itu bukan alasan Anda perlu membuat cadangan data Anda. Anda perlu membuat cadangan data Anda karena sifat cepat dan berkesinambungan dari penurunan ruang kosong Anda sangat menunjukkan bahwa hard drive Anda mungkin akan benar - benar gagal secara fisik . Jika itu terjadi, Anda akan kehilangan data apa pun di dalamnya, dan hampir pasti tidak dapat memulihkannya. Cara lain untuk mencadangkan termasuk melalui jaringan ke komputer lain, atau ke CD / DVD.masalah ini telah dipecahkan, itu firewall menulis banyak log dan file encoding tvmobili
sumber