По моему опыту, файлы с файловым дескриптором txt
в lsof
вывод - это сам исполняемый файл и общие объекты. В lsof
На странице руководства сказано, что это означает «текст программы (код и данные)».
При отладке проблемы я обнаружил большое количество файлов данных (в частности, индексных файлов базы данных ElasticSearch), которые lsof
сообщается как txt
. Это определенно не исполняемые файлы. Это был сам процесс ElasticSearch, который представляет собой Java-процесс, если он помогает указать кому-то правильное направление.
Я хочу понять, как открывается этот процесс, и как использовать эти файлы, чтобы сообщать об этом таким образом. Я пытаюсь понять использование памяти и подозреваю, что эти открытые файлы каким-то образом связаны с некоторыми показателями, которые я вижу.
Система - Solaris 10 x86.
В Solaris все, что отображается в области памяти процесса, будет перечислено lsof
так как txt
, независимо от того, является ли он запущенным исполняемым файлом или исполняемым общим объектом, отображаемым ld.so, или любым файлом данных, отображаемым непосредственно приложением.
В Linux только запущенный исполняемый файл будет указан как txt
, все остальное, отображаемое в пространстве памяти, будет отображаться как mem
(как исполняемые общие объекты, так и файлы данных).