Background info for the request::

I have a radius server (freeradius running on Linux) that for each request needs to parse a long text file containing the allowed mac-address. From time to time, it hangs.

Since the number of requests is quite high, I want to see if there's some bottleneck due to the read access of the file (I should check also the speed of the file-parsing, but for that, I know where to check: the source file). So, I would like to monitor the read speed access of a process for a specific file, in order to figure if the process "hangs" due to the I/O limit.

What I'm not interested in: a solution for the hang of radius or debugging radius itself.

What I would like to know: a generic way to check, for a generic process, the read I/O on the disk when reads a specific file.


.: Francesco

  • What size of file are we talking about? You can check the wa value in top to see how much time the system spends waiting for I/O – Panki Dec 21 '20 at 14:13
  • 8 MB of a txt file. ~170k entries. – Francesco Colista Dec 21 '20 at 14:28
  • ... looks like it's time to switch to a proper database. Are you doing binary search? or simply parsing the whole file? – Panki Dec 21 '20 at 14:29
  • parsing the whole file, cannot switch to db – Francesco Colista Dec 21 '20 at 14:30
  • You would like to know about iotop try with -o, -b or others, while running anything, will give you information on what you ask. – thanasisp Dec 23 '20 at 17:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.