У меня есть cron, который генерировал много (15 ГБ) предупреждений PHP и записывал их в файл журнала .
Я остановил процесс и в качестве временной меры перестал перенаправлять stderr на stdout, чтобы не переполнять память.
После изменения я продолжал получать тот же "высокий IO" предупреждений и хранилище сервера временно увеличивалось, а затем возвращалось к предыдущему размеру. Исходный файл журнала был пуст.
Я нашел один файл, используя lsof -p
, который увеличивался на второй.
sh 25626 root 10u REG 202,1 21280244045 773 /tmp/tmpfZ14vFH (deleted)
Этот файл отмечен как удаленный, и я не могу найти его в каталоге / tmp.
Пожалуйста, расскажите немного об этом.
Записывает ли операционная система stderr во временный файл во время выполнения процесса работает?
Debe facer un ciclo (iniciar / deter) o proceso que ten controlado o controlador de ficheiro.
Comprobe con ps -ef | grep 25626
como punto de partida para atopar o proceso que o está a manter e, se é posible, cíclalo. Permitirá que o controlador de arquivos se solte e se limpe o espazo no disco.
Sei que xa fixeches isto (descubrín que sh
é o proceso en cuestión), pero aquí está o meu comando inicial nas miñas notas (probablemente atopado no intercambio de pila no pasado) para atopando estes misteriosos ficheiros eliminados:
lsof | grep eliminado | numfmt --field = 7 --to = iec | head