Bagaimana saya bisa memeriksa apa yang dibutuhkan ruang disk di / tmp?

8

Saya bekerja di server eksternal - hanya melakukan beberapa web-api di sana. Hari ini ketika saya ingin menggunakan api php kembali kesalahan berikut:

Unknown: write failed: No space left on device (28)

Jadi saya tahu bahwa tmp penuh:

~# df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       102G   97G     0 100% /

Jadi saya kira saya harus membersihkan beberapa sampah di tmp - tetapi pertama-tama saya ingin tahu apa yang menyebabkan masalah, maksud saya apa yang mengambil begitu banyak memori dalam tmp? Mungkin ada sesuatu yang membanjiri dir tmp? Saya tidak ahli dalam administrasi sistem, saya hanya menulis web-api ... Apakah normal jika ukuran tmp terlampaui? Mungkin itu terjadi begitu saja dari waktu ke waktu?

Hasil perintah:

du -sh /tmp/* | sort -h
0       /tmp/tmpEZIyDT
0       /tmp/unity_support_test.0
4.0K    /tmp/amazoncookie.txt
4.0K    /tmp/at-spi2
4.0K    /tmp/filewhHOLH
4.0K    /tmp/keyring-b3ZOTY
4.0K    /tmp/mc-domator
4.0K    /tmp/mc-root
4.0K    /tmp/pulse-2L9K88eMlGn7
4.0K    /tmp/pulse-PKdhtXMmr18n
4.0K    /tmp/ssh-thimUVhk2748
8.0K    /tmp/pulse-5N1YM8s2cT0i

Aneh - seperti yang saya mengerti tidak banyak hal dalam tmp dir ... mungkin sesuatu yang lain mengambil begitu banyak ruang disk - bagaimana saya bisa memeriksanya?

pengguna166241
sumber

Jawaban:

9

Perintah pertama menunjukkan bahwa / tmp sebenarnya pada sistem file yang sama dengan / (yaitu, yang lainnya). Jika partisi root Anda penuh, bisa jadi itu hal-hal lain (seperti / var / log) mengambil ruang.

Cara yang layak untuk menemukan sesuatu adalah dengan melakukannya

du -sc * .[^.]* | sort -n

untuk menemukan direktori apa yang besar. Kemudian Anda dapat melanjutkan ke cd ke direktori yang lebih rendah dan jalankan kembali perintah untuk mempersempit segalanya.

Alan Shutko
sumber
1
Jalankan pemeriksaan cepat atas konten /var/log/- Jika suatu program telah memuntahkan gigabytes kesalahan yang tidak dipantau, ini dapat dengan cepat mengisi drive.
Darth Android
terima kasih - itu ide yang bagus untuk mencari file tersembunyi - masalahnya adalah file besar ".xsession-errors" di beberapa pengguna home dir - untuk saat ini saya baru saja menghapusnya
user166241
3

Pada distro terbaru:

du -sh /tmp/* | sort -h

Pada distro yang lebih tua:

du -csm /tmp/* | sort -n
Gilles Quenot
sumber
Saya mengedit posting - hasil dari perintah pertama aneh ...
user166241
2

Periksa apakah Anda tidak kehabisan inode.

# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda3            1236992 1236992       0  100% /
tmpfs                1007716       1 1007715    1% /dev/shm
/dev/sda1              38456      45   38411    1% /boot
Zuzu
sumber
Komentar di atas adalah untuk referensi ppl dengan masalah yang sama
Zuzu
0

Ini yang saya miliki di bashrc saya. Akan memberi Anda ide bagus tentang apa yang "besar" dan kemudian Anda bisa selidiki dari sana. Gunakan saat kami memiliki pengguna yang suka menggunakan sistem / tmp alih-alih ruang tmp bersama kami.

function get_big_usage () {
    echo -e "\n"
    du -ks /tmp/* | sort -nr | head
    echo -e "\n"
    du -ks /var/* | sort -nr | head
    echo -e "\n"
    du -ks /home/* | sort -nr | head
}
pengguna757053
sumber