I am working on a performance issue and want to see a list of files and how many reads are being executed against them. On Linux (centos 7) this is surprisingly difficult!!
That said I've been using sysdig for other things and this looks like it will do the job. However whilst I know my device is being read from (iotop. iostat etc show that), sysdig does not seem to report anything for this device. This device is an EBS volume mounted on an Amazon instance. The normal root partition is reported on trouble is my solr index files aren't on that device!
Does anybody know of anything special I need to do to get stats from the EBS backed device or point out something I'm doing wrong?
As some context sysdig commands I'm trying are:
sudo sysdig -c topfiles_bytes
sudo sysdig -p "%user.name %proc.name %fd.name %fd.directory" "evt.type=read" -w writetrace.scap
sudo sysdig -G 600 -W 1 -w dump.scap evt.is_io_read=true
None of them ever pick up either device xvdh), the directory (/data/) or any files being accessed under /data
etc
Thanks
Mike
--
www.sysdig.org
https://github.com/draios/sysdig
www.draios.com
---
You received this message because you are subscribed to the Google Groups "sysdig" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sysdig+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Thanks for getting back to me. Your analysis would seem to be correct:
* I'm seeing writes using sysdig
* "sudo lsof -d mem -p 4080 | grep data" gives me a list of the files I'm looking to see reads for and the ones I have not been able to see read events for using sysdig are memory-mapped
For reference, this is a SolrCloud cluster which is multi-tenanted. I'm trying to debug a performance issue with one tenant that seems to be disk access related; hence the need to identify the files that are being read as they identify the tenant whereas the process is a generic "Java" for all IO (whether it be from the disk of disk cache).
I've been able to identify cache misses using https://github.com/brendangregg/perf-tools/blob/master/examples/cachestat_example.txt but again it's not fine-grained enough to allow a the explicit solr tenant to be identified that's causing the cache miss.
https://github.com/tobert/pcstat has got me a file-level view of what's cached, but you need to know what files your looking for first; which again is hard in a MT environment.
The BCC tools such e.g. https://github.com/iovisor/bcc/blob/master/tools/filetop_example.txt seem to give me what I want, but I need to upgrade to kernel 4.2 to use them; which I don't want to do
It would be great if sysdig could incorporate some of the functionality at some stage so we have one tool that covers the majority fo what we need and we don't have to upgrade our Kernel. Unfortunately, I suspect enhancing sysdig myself is beyond my abilities!
As I said in my original post identiting which files are being hit for reads on Linux seems to be surprisingly difficult.
Again thank you for your help
Mike
https://github.com/tobert/pcstat has got me a file-level view of what's cached, but you need to know what files your looking for first; which again is hard in a MT environment.
The BCC tools such e.g. https://github.com/iovisor/bcc/blob/master/tools/filetop_example.txt seem to give me what I want, but I need to upgrade to kernel 4.2 to use them; which I don't want to do
It would be great if sysdig could incorporate some of the functionality at some stage so we have one tool that covers the majority fo what we need and we don't have to upgrade our Kernel. Unfortunately, I suspect enhancing sysdig myself is beyond my abilities!
Apologies for not replying sooner I've been in meetings all week. The above makes sense; although a tad more complex than good old Windows performance manager :-) . The difficulty suggests that my use case is a very much an edge case on Linux; which I do find surprising but can't argue with it!
Again thanks for your help (and time) its much appreciated
Mike