2012-06-13 2 views
3

Я использовал du -h и df -h, но я не могу определить, какие фактические файлы занимают место. Когда я удаляю файлы, df -h все еще говорит, что диск заполнен. Также, когда я удаляю файлы на основе du -h, пространство для sda2 не уменьшается.Как узнать, какие файлы занимают больше всего места в unix?

Filesystem   Size Used Avail Use% Mounted on 
/dev/sda2    13G 12G  0 100%/
/dev/sda1    251M 21M 218M 9% /boot 
tmpfs    1006M  0 1006M 0% /dev/shm 
+1

Этот вопрос больше для ServerFault. Но я испытал одно и то же, и я думаю, что что-то не так с файловой системой Linux (я не хочу говорить об ошибке, но это похоже на одно). Reboot сделает трюк. –

+0

Как перезапустить? Я предполагаю, что я должен быть su –

+0

@ lord12, вам действительно не нужно перезагружаться в Unix. К сожалению, весь образ «перезагрузки», похоже, проник в мир Windows. –

ответ

4

Трюк для поиска больших файлов (с именами) обычно du -a, часто передается по адресу sort -n. Это дает вам самые большие файлы в прошлом (так что неважно, что маленькие файлы исчезают в верхней части страницы).

Возможно, у вас есть процесс, который все еще работает с открытым файлом без имени, который он пишет, когда он получает шанс, то есть есть пространство. Это может быть временный файл, который он открыл для хранения данных, или это может быть файл журнала, который удалил кто-то. Пространство, которое он использует, не будет отображаться как свободное пространство, но оно не будет отображаться как в использовании с du -a (или любыми другими параметрами), потому что имя файла отсутствует. Если вы не знаете, какой процесс это, вы можете использовать перезагрузку, чтобы остановить процесс (все процессы), тем самым освободив пространство.

+1

возможно, вы можете найти этих _nameless_ парней с 'sudo lsof' –

0

Ссылаясь на страницу df людей:

`--no-sync' 
    Do not invoke the `sync' system call before getting any usage data. 
    This may make `df' run significantly faster on systems with many 
    disks, but on some systems (notably SunOS) the results may be 
    slightly out of date. This is the default. 

Поскольку это по умолчанию, я предполагаю, что вы получаете кэшированный вид свободного пространства.

0

использовать следующую команду для проверки дискового пространства:

df -lh 
Смежные вопросы