Server Ubuntu: hard drive selalu penuh

8

Saya punya 50GB vps

ketika saya menjalankan df saya dapatkan

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             49982172  46580100    863064  99% /
none                    507212       172    507040   1% /dev
none                    511676         4    511672   1% /dev/shm
none                    511676        76    511600   1% /var/run
none                    511676         0    511676   0% /var/lock
none                    511676         0    511676   0% /lib/init/rw

Ketika saya menjalankan du -h dari / saya dapatkan

...
20K     ./tmp/vmware-root
4.0K    ./tmp/.webmin
4.0K    ./tmp/.X11-unix
4.0K    ./tmp/.ICE-unix
4.0K    ./tmp/hsperfdata_root
48K     ./tmp
7.7M    ./bin
3.8G    .

Saya juga mencoba mencari tahu tentang file yang lebih besar dari 100MB untuk mencoba menemukan apa yang mengambil ruang saya dengan find / -ukuran + 100M -l

4026531985    0 -r--------   1 root     root     140737486266368 Mar 23 08:55 /proc/kcore
find: `/proc/3969/task/3969/fd/5': No such file or directory
find: `/proc/3969/task/3969/fdinfo/5': No such file or directory
find: `/proc/3969/fd/5': No such file or directory
find: `/proc/3969/fdinfo/5': No such file or directory

Saya tidak tahu apa lagi yang bisa saya lakukan untuk menemukan masalah saya.

Edit:

Info lebih lanjut

df --inode /

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda1            3178496  178211 3000285    6% /

temukan / -xdev -cetak | wc -l

178773

lsof + L1

COMMAND     PID  USER   FD   TYPE DEVICE SIZE/OFF NLINK    NODE NAME
miniserv.  1496  root  txt    REG    8,1    10416     0 2364381 /usr/bin/perl (deleted)
mysqld    12869 mysql    4u   REG    8,1        0     0  537495 /tmp/ibkCwnHJ (deleted)
mysqld    12869 mysql    5u   REG    8,1        0     0  537497 /tmp/ibFyPrrv (deleted)
mysqld    12869 mysql    6u   REG    8,1        0     0  537499 /tmp/ibdUnwbh (deleted)
mysqld    12869 mysql    7u   REG    8,1        0     0  537500 /tmp/iblHYOV2 (deleted)
mysqld    12869 mysql   11u   REG    8,1        0     0  537501 /tmp/ibUW9YGO (deleted)

ID Distributor: Ubuntu Keterangan: Ubuntu 10.04.4 LTS Rilis: 10.04 Codename: lucid

Krayon
sumber
1
Saya ingin melihat penggunaan inode Anda:df -i
Wesley
@WesleyDavid: ditambahkan ke pos asli.
Krayons
Saya menduga Anda du -hmencetak banyak info, dan Anda mungkin melewatkan yang penting ... Cobalah du -sm /* | sort -nuntuk membuat daftar (diurutkan berdasarkan ukuran) dalam MB /subdirs
e2-e4

Jawaban:

11

Biasanya ada beberapa perbedaan antara du dan df tetapi biasanya tidak sebesar yang Anda lihat.

  • du melaporkan ruang disk yang digunakan dengan membaca informasi dari pohon direktori, itu akurat tetapi lambat.
  • df melaporkan ruang disk yang digunakan dengan membaca meta data filesystem, cepat tetapi kurang akurat karena bekerja dengan blok.

Penyebab biasa untuk apa yang Anda lihat adalah file yang telah dihapus tetapi belum ditutup oleh proses yang menulisnya.

Karena file telah dihapus, du tidak akan melihat entri direktori untuk itu dan karena itu tidak dapat memasukkannya dalam laporan itu.

Karena file tersebut masih terbuka, blok yang digunakannya tidak gratis sehingga df akan melaporkan bahwa mereka sedang digunakan.

Anda harus dapat melacak file yang menyebabkan masalah

lsof +L1

Periksa SIZE/OFFkolom.

Spesifikasi formulir + L1 akan memilih file terbuka yang telah dibatalkan tautannya. Spesifikasi bentuk + L1 akan memilih file terbuka yang tidak ditautkan pada sistem file yang ditentukan.

user9517
sumber
Terima kasih. Menambahkan hasil lsof + L1 ke pos pembuka. Sepertinya tidak ada masalah.
Krayons
@Rayon: Saya akan mencari untuk menjadwalkan beberapa waktu henti untuk menjalankan fsck.
user9517
Itu telah memperbaikinya. Pasti ada sesuatu yang sangat salah dengan sistem file.
Krayons