Visit Our UNIX and Linux User Community


How to find out memory & cpu usage of a process


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users How to find out memory & cpu usage of a process
# 1  
Old 10-06-2009
How to find out memory & cpu usage of a process

Hi,

By using time command we can determine the execution time of a process or command.
bash-2.04$ time ls -l
total 0
-rw-r--r-- 1 admin tac 0 Oct 6 04:46 file1
-rw-r--r-- 1 admin tac 0 Oct 6 04:46 file2

real 0m0.002s
user 0m0.000s
sys 0m0.001s
bash-2.04$
Similar way can we find out the memory and cpu usage? I know i can monitor it while it is running but that is not my requirement.

Thanks,
Anand
# 2  
Old 10-06-2009
Some versions of unix have the rusage command. Check that out.
# 3  
Old 10-06-2009
If you have a BSD version of ps or your ps accepts system V or BSD style parameters then running:
Code:
$ ps -aux

will show you the CPU and memory usage of running processes quoted as a percentage.

The top command also shows these plus resident and virtual memory usage.
# 4  
Old 10-14-2009
Thanks for the responses..

My system does not have rusage.

I can use ps to get the data but my actual requirement is to find memory and cpu usage after the execution is over like 'time ls -l' command does.
# 5  
Old 10-26-2009
try the command called top ..otherwise you could downlaod a tool called powertop and give the command powertop on the command line once it is installed
# 6  
Old 10-26-2009
You will have to write C code this primitive example using getrusage(). Note -- not all systems fully support all of getrusage():
Code:
/* rusage.c
    usage:
    rusage  [executable_file_or_script]
*/
#include <sys/types.h>
#include <stdlib.h>
#include <sys/resrouces.h>
#include <stdio.h>
#include <unistd.h>
#include <limits.h>
#include <errno.h>

char cmd[ARG_MAX]={0x0};

int dump(void)
{
		struct rusage s;
		struct rusage *p=&s;
		
  	getrusage(RUSAGE_CHILDREN, p);
		fprintf(stdout, "maximum resident set size              =%ld\n", p->ru_maxrss);
		fprintf(stdout, "integral resident set size             =%ld\n", p->ru_idrss);
		fprintf(stdout, "page faults not requiring physical I/O =%ld\n", p->ru_minflt);
		fprintf(stdout, "page faults requiring physical I/O     =%ld\n", p->ru_majflt);
		fprintf(stdout, "swaps                                  =%ld\n", p->ru_nswap);
		fprintf(stdout, "block input operations                 =%ld\n", p->ru_inblock);
		fprintf(stdout, "block output operations                =%ld\n", p->ru_oublock);
		fprintf(stdout, "messages sent                          =%ld\n", p->ru_msgsnd);
		fprintf(stdout, "messages received                      =%ld\n", p->ru_msgrcv);
		fprintf(stdout, "signals received                       =%ld\n", p->ru_nsignals);
		fprintf(stdout, "voluntary context switches             =%ld\n", p->ru_nvcsw);
		fprintf(stdout, "involuntary context switches           =%ld\n", p->ru_nivcsw);
  	return 1;
}

int main(int argc, char *argv[])
{
    char *p=cmd;
    int i=1;
    ptrdiff_t d=ARG_MAX;

    for(i=1; i < argc; i++)
    {
        size_t len=strlen(argv[i]);
        if( d - len > ARG_MAX)
        {
           sprintf(p, "%s ", argv[i]);
           d-=len;
           p+=(len +1);
        }
        else
        {
        	errno=E2BIG;
        	perror("Invalid parameter list");
        	exit(1);
        }
    }
    if(*cmd)
    {
	  	system(cmd);
	  	dump();
	  }
	  else
	  {
	  	errno=EINVAL;
	  	perror("cannot execute command");
	  	exit(1);
	  }
    return 0;
}


Previous Thread | Next Thread
Test Your Knowledge in Computers #415
Difficulty: Easy
HTML, CSS, and JavaScript are the three core technologies of the World Wide Web.
True or False?

10 More Discussions You Might Find Interesting

1. Solaris

Find memory usage for a process

I have multiple oracle databases on one server. All the database are running from the same user i.e. oraent. The process for each database can be distinguished by the ps -ef command Eg : ps -ef | grep oraentThe Output : oraent 5361 1 0 20:58:05 ? 0:00 oracledb1... (11 Replies)
Discussion started by: yashreads
11 Replies

2. Shell Programming and Scripting

Shell script for logging cpu and memory usage of a Linux process

I am looking for a way to log and graphically display cpu and RAM usage of linux processes over time. Since I couldn't find a simple tool to so (I tried zabbix and munin but installation failed) I started writing a shell script to do so The script file parses the output of top command through... (2 Replies)
Discussion started by: andy_dufresne
2 Replies

3. AIX

How to trace cpu/memory usage for a process

I don't know when the process will start and end, I need write a script to trace it's cpu/memory usage when it is runing. How to write this script? (2 Replies)
Discussion started by: rainbow_bean
2 Replies

4. 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

5. 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

6. 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

7. 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

8. 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

9. HP-UX

How to determine cpu&memory percentage usage per user

Using HP-UX v11 Need to monitor cpu and memory usage, total for system and separately for each user in command-line mode. Found out next ways to monitor total cpu usage under hp-ux: 1) vmstat, also shows free memory 2) sar -M ps -eo user,pcpu - does not work, means 'user-defined format'... (4 Replies)
Discussion started by: hp-ux-user
4 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

Featured Tech Videos