Я использую Ubuntu, и у меня возникла проблема, когда в корневом разделе закончилось место на диске.
Когда я выполняю df -h
Получаю следующее:
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 4.6G 4.5G 0 100% /
Однако на самом деле этот раздел занимает всего 2 ГБ файлов. Затем я запустил следующее df -i
и я получаю следующее:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda6 305824 118885 186939 39% /
Я понятия не имею, что за -i
flag есть, но он ясно показывает, что используется только 39%.
Может ли кто-нибудь объяснить, куда пропало мое дисковое пространство?
Можешь попробовать:
lsof +L1
чтобы показать несвязанные файлы, включая их размеры и то, что они открывают.
Вероятно, у вас есть процесс, в котором открыт удаленный файл. Удаленные, но открытые файлы продолжают занимать дисковое пространство, но не отображаются в du или ls. «df -i» - отвлекающий маневр, он просто показывает, сколько файлов у вас есть, или, говоря точнее, сколько inode.
Если вы не можете понять, какой процесс держит открытым большой (удаленный) файл, и есть вероятность, что это зомби или что-то зависшее, возможно, пришло время для перезагрузки.
df -i показывает inodes, а это не то, что вы ищете. У вас необычно большой размер блока, может быть, 128/256 КБ? Если вы это сделаете, даже файл размером 1 КБ займет такое количество места.
df -i показывает, сколько из ваших i-узлов вы использовали, а не сколько места вы использовали.
Некоторые файловые системы Unix / Linux (вы не говорите, что используете) имеют ограничение на количество файлов / i-узлов, которые они могут хранить в дополнение к ограничению дискового пространства. Это означает, что если у вас много очень маленьких файлов, ваша файловая система может быть заполнена даже с оставшимся пространством, потому что все i-узлы израсходованы. Чтобы проверить это, вы можете посмотреть i-узлы, используемые с командой df -i.