Perfmon-like for Linux?
The program "top" does most of this. It does not handle network traffic though.
Edit:
If you need to log this information for post processing/analysis you can use the standard package "sar" to do this. It supports MANY different performance numbers including: disk, cpu, memory, network, etc.
sar manpage
Ubuntu performance monitor tools like PerfMon
thanks to Nachiket Kate
, the closest thing to my requirments is the following command: pidstat -r -u -p -I 3
Linux Performance Monitoring, any way to monitor per-thread?
perf is a system profiling tool you can use. it's not like https://github.com/castl/easyperf), which is a library and you use it in your code. Following the steps and use it to profile your program:
Install
perf
on Ubuntu. The installation could be quite different in different Linux distribution. You can find out the installation tutorial line.Simply run your program and get all thread id of your program:
ps -eLf | grep [application name]
open separate terminal and run perf as
perf stat -t [threadid]
according to man page:usage: perf stat [<options>] [<command>]
-e, --event <event> event selector. use 'perf list' to list available events
-i, --no-inherit child tasks do not inherit counters
-p, --pid <n> stat events on existing process id
-t, --tid <n> stat events on existing thread id
-a, --all-cpus system-wide collection from all CPUs
-c, --scale scale/normalize counters
-v, --verbose be more verbose (show counter open errors, etc)
-r, --repeat <n> repeat command and print average + stddev (max: 100)
-n, --null null run - dont start any counters
-B, --big-num print large numbers with thousands' separators
there is an analysis article about perf
, you can get a feeling about it.
testing performance on Linux dockers
There are several ways of monitoring Docker instance statistics:
- Built-in Runtime Metrics
- cAdvisor - probably this one will be the easiest to setup and use
- Any of built-in Linux monitoring tools
Of course you can normally use JMeter PerfMon Plugin as this way you will get performance monitoring results integrated into your test script and be able to correlate JMeter metrics with server health metrics. Just make sure there is a TCP/UDP connectivity between JMeter and PerfMon Server Agent, default port is 4445 so make sure container exposes this port to the outside world.
Related Topics
How to Boot the Linux Kernel Without Creating an Initrd Image
Go Http Server Testing Ab VS Wrk So Much Difference in Result
Shell Script Change Directory with Variable
Add Some Specific Time While Using the Linux Command "Date"
Erlang: Unix Domain Socket Support
Wrong Payload When Using Bluez Stack as Peripheral
I Cannot Get a Result from a Single Line Put into the Erlang Shell
Linux Udp Max Size of Receive Buffer
What Is This $Path in Linux and How to Modify It
How to Debug Mex Code with Eclipse
How to Add JSON Object to JSON File Using Shell Script
Will Ctrl+C Send Sigint Signals to Both Parent and Child Processes in Linux
How to Check If Find Command Didn't Find Anything
What Does "Typedef _U16 _Bitwise _Le16;" Mean in Linux Kernel