/ proc постепенно занимает место на жестком диске [закрыто]

-2
28.07.2017, 11:04
2 ответа

Вы неправильно читаете вывод :строки о /procявляются сообщениями об ошибках, потому что duне может прочитать некоторые файлы, findзапрашивает их использование; они не указывают, что файлы в /procвходят в первую -десятку самых больших файлов в вашей системе. В любом случае, как упомянул стив , /proc— это собственная виртуальная файловая система, которая не занимает места на вашем диске.

Чтобы избежать перечисления ненужных файлов, вы можете указать findне пересекать границы файловой системы, используя параметр -xdev.

Файлы, которые, по-видимому, доставляют вам проблемы, это /var/log/awslogs.logи/var/log/awslogs.1:ваша первая команда перечисляет их как два самых больших файла в вашей системе, и они не отображаются в выводе вашей второй команды (вернее, они меньше — я вижу awslogs.log.1дальше по списку ).

8
28.01.2020, 05:14

Вот что происходит, когда вы запускаете поток stdout и не подавляете stderr.

Поскольку sortдолжен иметь весь входной буфер, прежде чем он сможет выполнять свою работу, (очевидно, )он фактически не начинает передавать вывод в headдо того, как findзакончит поиск.

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

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

0
28.01.2020, 05:14

Теги

Похожие вопросы