In my experience, files that have the file descriptor of txt
in lsof
output are the executable file itself and shared objects. The lsof
man page says that it means "program text (code and data)".
While debugging a problem, I found a large number of data files (specifically, ElasticSearch database index files) that lsof
reported as txt
. These are definitely not executable files. The process was ElasticSearch itself, which is a java process, if that helps point someone in the right direction.
I want to understand how this process is opening and using these files that gets it to be reported in this way. I'm trying to understand some memory utilization, and I suspect that these open files are related to some metrics I'm seeing in some way.
The system is Solaris 10 x86.
lsof
on Solaris. That command is something of a hack on Solaris which is why it isn't included in the OS by default. The true alternatives on Solaris would bepfiles
command and DTrace. Using the latter you can monitor for example file operations in real time.