Linux Health-Check Tool, Monitor Processes In Linux
The health-check tool monitors processes such as CPU usage, System call activity, Network connections and more to help you identify areas where it is consuming too many resources. It offers you the option to trace one or more processes and save the stats into a JSON formatted file for later analysis. At the moment I am writing this article only x86 (32 and 64 bit) and ARM architectures are supported.
Health-check can monitor:
- CPU usage
- Kernel wake-up events
- File I/O activity (open,read,write,close)
- System call activity
- Excessive polling of timeout wait blocked system calls (such as poll, select, etc)
- Memory usage (such as heap and stack growth)
- Network connections (to spot rogue internet activity)
Install Health-check On Ubuntu
sudo add-apt-repository ppa:colin-king/white sudo apt-get update sudo apt-get install health-check
health-check [options] [command [options]]
-b brief (terse) output -c find all child processes on start-up (only useful with -p option) -d specify the analysis duration in seconds (default is 60 seconds) -f follow fork/vfork/clone system calls -h show this help -p pid[,pid] specify process id(s) or process name(s) to be traced -m max specify maximum number of system calls to trace (default is 1000000) -o file output results to a json data file -r resolve IP addresses -u user run command as a specified user -v verbose output -w monitor wakelock count -W monitor wakelock usage (has overhead)
Test Health Check Using Application Name
Here i want to check the firefox health status. Enter the following command in Terminal. The firefox will be automatically open. After a minutes close firefox. The health check result will be shown on Terminal.
$ sudo health-check -b firefox
CPU usage: User: 13.91%, System: 8.29%, Total: 22.20% (medium load) Wakeups: No wakeups detected. Context Switches: 7116.76 context switches/sec (high) File I/O operations: I/O Operations per second: 188.26 open, 188.26 close, 163.40 read, 0.59 write Polling system call analysis: firefox (10098), poll: 30 immediate timed out calls with zero timeout (non-blocking peeks) 10 repeated immediate timed out polled calls with zero timeouts (heavy polling peeks) Filesystem Syncs: None. Change in memory (K/second): PID Process Type Size RSS PSS 10098 firefox Stack 9703.33 52.10 52.10 (growing very fast) 10098 firefox Heap 14836.21 3888.44 3888.44 (growing very fast) 10098 firefox Mapped 165303.52 11130.12 4908.20 (growing very fast) Open Network Connections: None. Analysis ran for just 3.3782 seconds, so rate calculations may be misleading
Test Health Check using PID
Enter the following command along with PID. You can find the PID using “top” command.
$ sudo health-check -p 9382
CPU usage: PID Process USR% SYS% TOTAL% Duration 9382 firefox 21.92 3.38 25.30 60.00 (medium load) Wakeups: PID Process Wake/Sec Kernel Functions 9382 firefox 0.97 (hrtimer_start_range_ns, ehci_hrtimer_func) (low) 9382 firefox 0.08 (hrtimer_start_range_ns, hrtimer_wakeup) (very low) Total 1.05 Context Switches: PID Process Voluntary Involuntary Total Ctxt Sw/Sec Ctxt Sw/Sec Ctxt Sw/Sec 9382 firefox 3929.55 41.40 3970.95 (high) File I/O operations: PID Process Count Op Filename 9382 firefox 184 R /home/sk/.mozilla/firefox/543j5fpy.default/content-prefs.sqlite 9382 firefox 119 W /home/sk/.mozilla/firefox/543j5fpy.default/cookies.sqlite-wal 9382 firefox 10 C /usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf 9382 firefox 10 O /home/sk/.mozilla/firefox/543j5fpy.default/sessionstore.js.tmp 9382 firefox 2 CR /etc/hosts 9382 firefox 1 OCR /etc/hosts 9382 firefox 1 RW /home/sk/.mozilla/firefox/543j5fpy.default/cookies.sqlite-wal 9382 firefox 1 CW /home/sk/.mozilla/firefox/543j5fpy.default/sessionstore.js.tmp Total 328 Op: O=Open, R=Read, W=Write, C=Close File I/O Operations per second: PID Process Open Close Read Write 9382 firefox 0.18 0.23 3.13 2.02 System calls traced: PID Process Syscall Count Rate/Sec 9382 firefox recvfrom 49658 827.6329 9382 firefox poll 37694 628.2330 9382 firefox writev 11145 185.7499 9382 firefox futex 5235 87.2500 9382 firefox read 3873 64.5500 9382 firefox madvise 2944 49.0666 9382 firefox write 210 3.5000 9382 firefox munmap 108 1.8000 9382 firefox stat 86 1.4333 9382 firefox mmap 83 1.3833 9382 firefox getrusage 80 1.3333 9382 firefox getsockname 21 0.3500 9382 firefox fcntl 5 0.0833 9382 firefox close 5 0.0833 9382 firefox open 5 0.0833 9382 firefox fstat 5 0.0833 9382 firefox restart_syscall 1 0.0167 9382 firefox lseek 1 0.0167 Total 111159 1852.6491 Top polling system calls: PID Process Syscall Rate/Sec Infinite Zero Minimum Maximum Average Timeouts Timeouts Timeout Timeout Timeout 9382 firefox poll 628.2330 23395 12627 0.0 sec 500.0 msec 18.5 msec Distribution of poll timeout times: 10.0 100.0 1.0 10.0 100.0 1.0 10.0 100.0 up to to to to to to to to or more Zero 9.9 99.9 999.9 9.9 99.9 999.9 9.9 99.9 Infinite PID Process Syscall sec usec usec usec msec msec msec sec sec sec Wait 9382 firefox poll 12627 - - - 6 54 1612 - - - 23395 Polling system call analysis: firefox (9382), poll: 11793 immediate timed out calls with zero timeout (non-blocking peeks) 7660 repeated immediate timed out polled calls with zero timeouts (heavy polling peeks) Filesystem Syncs: None. Per Process Memory (K): PID Process Type Size RSS PSS 9382 firefox Stack 410408 79896 79896 9382 firefox Heap 631808 316412 316412 9382 firefox Mapped 732344 58324 43355 Change in memory (K/second): PID Process Type Size RSS PSS 9382 firefox Stack 0.00 -40.73 -40.73 (shrinking moderately fast) 9382 firefox Heap -313.60 -1428.60 -1428.60 (shrinking very fast) 9382 firefox Mapped -16.60 -2.53 -1.33 (shrinking moderately fast) Open Network Connections: PID Process Proto Address:Port 9382 firefox UDP 127.0.1.1:53 9382 firefox TCP 22.214.171.124:443 9382 firefox TCP 126.96.36.199:80 9382 firefox TCP 188.8.131.52:80
For more details about health-check, refer the man pages.
$ man health-check
Like us on Facebook
This week Top Posts
- Top Things To Do After Installing Ubuntu 13.10 'Saucy Salamander' : Ubuntu 13.10 Saucy Salamander will be released on coming October 17th with many new salient featur...0 comments |
- Twelve Vulnerabilities Have Been Fixed In Ubuntu 12.04, Time To Update : Canonical has released security updates for Ubuntu 12.04 LTS and advices to update your system as so...1 comment |
- How To Upgrade From Ubuntu 13.04 Raring To Ubuntu 13.10 Saucy Salamander : Ubuntu 13.10 Saucy will be released on October 17th. Hope it will come with lot of improvements and ...0 comments |
- TeamViewer 9 Final Has Been Released! : TeamViewer is a commercial all-in-one software that can be used for remote control, desktop sharing,...0 comments |
- Setup DNS Server On openSUSE 13.1 : What is DNS Server? As you might know, DNS, Domain Name System, is a system that resolves Domain ...0 comments |
- Install lamp with 1 command in Ubuntu 12.10, 13.04 Raring Ringtail & LinuxMint13 : Updated: 10/09/2012 :LAMP (Linux, Apache, MySQL and PHP) is an open source Web development platform ...0 comments |
- Setup DNS Server On openSUSE 13.1
- TeamViewer 9 Final Has Been Released!
- Twelve Vulnerabilities Have Been Fixed In Ubuntu 12.04, Time To Update
- OpenLDAP Installation and Configuration in Ubuntu 12.10/13.04/13.10 And Debian 6/7
- Configure Your Browser To Use Tor On Ubuntu/Debian/Linux Mint
- Setup A Full Featured ITIL Management System Using Integria IMS On CentOS 6
- Install LibreOffice 4.1.3 in Elementary OS ‘Luna’
- How To Install Simple Scan in Crunchbang ‘Waldorf’
- Selene Media Encoder: Convert Audio, Video Files To Most Popular Formats
- Linux Kernel 3.12.2 Is Available For Download! Install / Upgrade Instructions
This work by unixmen.com is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
Copyright © 2008-2013 Unixmen.com .