How often should I monitor the CPU and memory usage ?

Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users How often should I monitor the CPU and memory usage ?
# 1  
Old 08-20-2009
How often should I monitor the CPU and memory usage ?

Hi all,

When you monitor the CPU and memory usage, how often do you do it ? Do it too often or too rarely will both cause the problem. So does anyone have hand-on experience ?

And for my case, the requirement says that when CPU usage is above X% or memory usage is above Y%, I should reject the further request but no further words for how long when the system is overloaded that I should reject the further request. But the requirment does mention that for each accepted request I should send ack back in Z seconds.

So my initial thought is that I should monitor CPU and memory usage when my app begins to run (and till it exits), and if the CPU/memory usage keeps running above the threhold for Z seconds I should let then let request processing part know it and reject the further request.

It seems to an easiest answer. But any other thought ?

And how oftern should I monitor the CPU/Memory usage within this Z seconds ?

Besides, my app is a Java app but for the monitroing part I just want to write a script to call commands like sar/top/vmstat. So how these 2 parts communicate ? socket or keep checking the log file ?

Thanks in advance!

---------- Post updated at 07:58 PM ---------- Previous update was at 02:47 AM ----------

I google the topic for a while and only find this article discussing about the sampling rate InformIT: Windows 2000 Performance Tools: Leverage Native Tools for Performance Monitoring and Tuning > Performance Monitor

But it only discusses things like the more often you sample, the more disk space performance log files require. Still no words about how sampling rate affects system performance itself.

Besides, how do I calculate the cpu/memory usage? Should I average the sample data or count times (in a row) that CPU/memory usage are above the threshold and set another threshold for that count number ?

Any idea ? Thanks!

Last edited by qiulang; 08-19-2009 at 11:35 AM.. Reason: update
# 2  
Old 08-20-2009

which OS do you run - I assume it's AIX? And why do you want to do it at all - are you running so low in resources that a simple command execution / a running process will put your system into trouble? Or do you expect your application to be so badly written that it will negatively impact the system for a certain amount of time?

If it's AIX, vmstat or sar or any kind of command collecting once off data will not impact your performance at all, while interactive monitoring tools like topas or nmon will. On unix you should not average anything since the resource usage is 'at a given moment in time' and will change about 1000 times per second anyway - so most of these tools are internal averaging the interval between executions.

Saying this, where would you set your threshold anyway. AIX using vmm and constantly re-nicing its processes, is absolutely capable to run in (and depending hardware/setup/virtualization overrun) its cpu entitlement without any kind of problems - and if you're overutilizing your memory for a short time, and your system is properly tuned, this will not slow down your system either (an AIX box with proper sizing and 'enough' memory uses normally 70-80% memory computational and gives you the headroom of 20% memory for peak times).

Not knowing your system / application at all, I would say 'it depends on how long you expects your threads to run and what they're doing overall' - on a DB box I would monitor the system in 1 - 2 second intervals for using all resources more than 3 intervals - but as stated - when I use virtualization and have a large shared pool where I can get 1000% cpu in case I need it, I just don't have to monitor it at all. And if you have p6 systems and large shared memory pools, too - I would not even do it for memory.

# 3  
Old 08-21-2009
sampling rate

Thanks for the reply. And my system is indeed AIX (Power server). How did you know that ? COOL!!

I am not sure exactly why my customer want to monitor the cpu/memory usage. Maybe they want their system to be "stable" because the requirement says when cpu usage is above X% or memory usage is above Y% I should reject the further request. ( Y is actually 70!! Nice guess again Smilie)

Or maybe they want to monitor to get a general sense of what the system is doing.

To me I just need to figure 2 things out,

  1. For how long when system is running above these thresholds I can say the system is indeed overloaded.
  2. What is the appropriate sampling rate ?
Any further suggestion ?

# 4  
Old 08-21-2009

can you please post the output of lparstat -i ... this would be helpful to determine what kind of system you have and if it's capped or uncapped and how much resources are in the shared pool Smilie

We are monitoring our systems for peak performance - 100% cpu usage for more than 1 min (4 measure intervals every 20 seconds) on capped systems (these lpars that don't have a shared pool where they can get more cpu if required) and we have setup a custom alert that let us know once computational memory crosses 80% or pagingspace 5% - here we measure every 5 min.

Please ge aware the AVM value in the vmstat -I output is in 4k pages ... and computational memory usage is all that really counts in a box (that is sufficient tuned). If your box is or not is something we cannot tell you without any outputs Smilie

Kind regards
# 5  
Old 08-21-2009
Zabbix Default for CPU Updates: 10 seconds


We use Zabbix to monitor our CPU and the default is 10 seconds..

See attached.
How often should I monitor the CPU and memory usage ?-picture-77png
# 6  
Old 08-21-2009
4 cores

Hi my server is power 550 with 4 core processors at 3.5 GHZ and 8G memory.

The app we develop is a Java application. So will this information help us to determine the sampling rate and peak time duration ?

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Please help me to monitor cpu usage vmstat in Redhat Linux .

Hi , Please some one help me How to write a shell script to monitor cpu usage vmstat in Redhat linux . Thanks, (4 Replies)
Discussion started by: saanvi
4 Replies

2. AIX

Script to monitor CPU , Memory

Hello. I am using AIX 6 and did lot of searches on google for this script and found so many results. Just thought to ask you being the real good place for centralised answer: a) Could you tell me the aix script, which may tell me If the CPU load is above e.g. 60% ? b) Could you tell me the AIX... (2 Replies)
Discussion started by: panchpan
2 Replies

3. AIX

Monitor Physical CPU usage on multiple servers

Hello, Looking for some help. I am trying to gather data at each server showing when the physical CPU is being used the most based on a weekly timeframe. I know this data can be seen through NMON but with multiple servers in our environment it could take a real long time. is there a easier... (4 Replies)
Discussion started by: audis$
4 Replies

4. UNIX for Dummies Questions & Answers

What to monitor for memory usage?

hi guys I am having a doubt about memory monitoring on linux system what I should be monitoring? memory usage? o swap usage? I am using some monitoring tools but I am confused to what monitor for alerting for example this case looks the memory usage is very high and it's like that all... (2 Replies)
Discussion started by: karlochacon
2 Replies

5. AIX

How to monitor the IBM AIX server for I/O usage,memory usage,CPU usage,network..?

How to monitor the IBM AIX server for I/O usage, memory usage, CPU usage, network usage, storage usage? (3 Replies)
Discussion started by: laknar
3 Replies

6. Solaris

current CPU usage, memory usage, disk I/O oid(snmp)

Hi, I want to monitor the current cpu usage, monitor usage , disk I/o and network utlization for solaris using SNMP. I want the oids for above tasks. can you please tell me that Thank you (2 Replies)
Discussion started by: S_venkatesh
2 Replies

7. HP-UX

how can I find cpu usage memory usage swap usage and logical volume usage

how can I find cpu usage memory usage swap usage and I want to know CPU usage above X% and contiue Y times and memory usage above X % and contiue Y times my final destination is monitor process logical volume usage above X % and number of Logical voluage above can I not to... (3 Replies)
Discussion started by: alert0919
3 Replies

8. UNIX for Dummies Questions & Answers

cpu, memory and virtual memory usage

Hi All, Does anyone know what the best commands in the UNIX command line are for obtaining this info: current CPU usage memory usage virtual memory usage preferably with date and time parameters too? thanks ocelot (4 Replies)
Discussion started by: ocelot
4 Replies

9. Programming

CPU usage and memory usage

Please tell me solaris functions/api for getting following information 1- Function that tells how much memory used by current process 2- Function that tells how much memory used by all running processes 3- Function that tells how much CPU is used by current process 4- Function that tells how... (1 Reply)
Discussion started by: mansoorulhaq
1 Replies

10. Programming

Monitor CPU usage and Memory Usage

how can i monitor usages of CPU, Memory, Hard disk etc. under SUN Solaries through a c program or java program i want to store that data into database so i can show it graphically thanks in advance (2 Replies)
Discussion started by: Gajanad Bihani
2 Replies
Login or Register to Ask a Question