Я пытаюсь выяснить, куда уходит мое HD-пространство. df говорит мне это:

bash-3.2$ df -h /
Filesystem   Size   Used  Avail Capacity  iused   ifree %iused  Mounted on
/dev/disk1  148Gi  137Gi   11Gi    93% 35980809 2791381   93%   /

Основная информация здесь верна. Мой диск составляет 160 ГБ в log10 (1000) блоках, что составляет 148 ГБ в log2 (1024) блоках. df -h на Mac возвращает единицы log2, поэтому информация верна. Итак, 137GB используется в log2 единицах. Куда? Давайте использовать du:

bash-3.2$ sudo du -d 1 -h /
Password:
1.0G    /.DocumentRevisions-V100
 40M    /.fseventsd
2.7G    /.Spotlight-V100
  0B    /.Trashes
  0B    /.vol
 33G    /Applications
2.3M    /bin
  0B    /cores
  0B    /Datarescue
4.5K    /dev
1.0K    /home
 15M    /Incompatible Software
8.3G    /Library
  0B    /lost+found
1.0K    /net
  0B    /Network
7.3G    /opt
 15M    /Payloads
8.3G    /private
1.1M    /sbin
6.0G    /System
 60G    /Users
1.1G    /usr
4.0K    /Volumes
128G    /

du -h использует log2. Итак, вы, вероятно, увидите мою проблему: здесь 9 ГБ отсутствует (на самом деле используется 128 ГБ, но 137 ГБ сообщается как использованные). Как я узнаю, куда это ушло?

(Я вижу, что этот вопрос повторялся несколько раз в прошлом, проблема обычно в том, что люди не запускали du от имени пользователя root, поэтому он не включал некоторые файлы, и об этом сообщалось на stderr - но я явно запускал от имени root, и ошибок о нечитаемых файлах на stderr не было.)

[редактировать]

Чтобы пояснить ответ ниже, я исправил это, используя «sudo gdu --apparent-size -h -d 1 /» вместо «sudo du -d 1 -h /», и теперь он правильно сообщает об использовании 139 ГБ, что достаточно близко к 137/148, как сообщает дф.

2 ответа2

1

Я думаю, что в вашем случае это может быть так же просто, как df сообщать в Gibibyte, а du -h в Gigabyte, если вы не замените -h на --si .

Например

> du -s -h
303G
> du -s --si
326G
0

Наткнулся на этот. Я использовал утилиту ncdu в Ubuntu, но вы можете установить ее и на Mac.

https://apple.stackexchange.com/questions/173767/terminal-command-ncdu

Это должно дать вам возможность увидеть как размер, так и видимый размер.

Кроме того, имейте в виду, что могут быть удалены файлы, которые "все еще существуют", то есть вы можете найти их с помощью

lsof | grep deleted

(https://access.redhat.com/solutions/2316)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .