Как я могу проверить, что занимает место на диске в / tmp?

8

Я работаю на внешнем сервере - просто делаю там web-api. Сегодня, когда я хотел использовать api php вернул следующую ошибку:

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

Итак, я понял, что tmp заполнен:

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

Так что я думаю, мне нужно очистить tmp от мусора - но прежде всего я хотел бы знать, что является причиной проблемы, я имею в виду, что занимает так много памяти в tmp? Может быть, что-то затопляет tmp dir как-то? Я не специалист по системному администрированию, я просто пишу web-api ... Это нормально, что превышен размер tmp? Может быть, это просто случается время от времени?

Результат команды:

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

Странно - я так мало понимаю в tmp dir ... может быть, что-то еще занимает столько места на диске - как я могу это проверить?

user166241
источник

Ответы:

9

Первая команда указывает, что / tmp фактически находится в той же файловой системе, что и / (т. Е. Все остальное). Если ваш корневой раздел заполнен, возможно, что другие вещи (например, / var / log) занимают место.

Достойный способ найти вещи, чтобы сделать

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

чтобы найти, какие каталоги большие. Затем вы можете продолжить переход в более низкие каталоги и повторно выполнить команду, чтобы сузить круг.

Алан Шутко
источник
1
Выполните быструю проверку содержимого: /var/log/- Если программа извергала гигабайты не отслеживаемых ошибок, это может быстро заполнить диск.
Дарт Андроид
спасибо - это была хорошая идея поиска скрытых файлов - проблема была в огромном файле ".xsession-errors" в домашнем каталоге некоторых пользователей - сейчас я только что удалил его
user166241
3

На недавнем дистрибутиве:

du -sh /tmp/* | sort -h

На старом дистрибутиве:

du -csm /tmp/* | sort -n
Жиль Квено
источник
Я редактировал пост - результат первой команды странный ...
user166241
2

Проверьте, не закончились ли иноды.

# 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
источник
Выше комментарий для справки для людей с той же проблемой
Zuzu
0

Это то, что у меня есть в моем bashrc. Даст вам хорошее представление о том, что такое «большой», и вы сможете оттуда провести расследование. Используйте его, когда у нас есть пользователи, которым нравится использовать system / tmp вместо нашего общего пространства tmp.

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
}
user757053
источник