当前位置: 技术问答>linux和unix
Linux下获取CPU的实际运行速度C编程实现
来源: 互联网 发布时间:2016-12-10
本文导语: 高手请指点如何在Linux下获取CPU的实际运行速度C编程实现,还有CPU和内存的使用率能不能用什么命令直接从系统监控器直接调用得到,还是得访问文件proc/meminfo,再进行自己运算,能不能实时获取CPU和内存的使用率啊...
高手请指点如何在Linux下获取CPU的实际运行速度C编程实现,还有CPU和内存的使用率能不能用什么命令直接从系统监控器直接调用得到,还是得访问文件proc/meminfo,再进行自己运算,能不能实时获取CPU和内存的使用率啊,请高手指点。
|
好像这个是cpu使用率 ,前几天刚看到
http://www.gnu.org/software/libc/manual/html_node/Processor-And-CPU-Time.html#Processor-And-CPU-Time
内存使用率
http://www.gnu.org/software/libc/manual/html_node/Query-Memory-Parameters.html#Query-Memory-Parameters
http://www.gnu.org/software/libc/manual/html_node/Processor-And-CPU-Time.html#Processor-And-CPU-Time
内存使用率
http://www.gnu.org/software/libc/manual/html_node/Query-Memory-Parameters.html#Query-Memory-Parameters
|
个人觉得没必要非要自己编程,有现成的命令,自己先研究一下……
下面是我自己在网上找到的,希望能对你有所帮助。
1. # ps -eo pid,pcpu,args | sort +1n
该命令输出当前系统进程的pid, cpu占用率及命令描述,并以pcpu来排序(尝试过,没有成功,据说在RedHat上可行的。)
2. top -p
不同的系统top的设置不尽相同,因此使用时需要注意。
3. prstat -p
prstat 检查系统中进程占用CPU,内存等情况。可以代替top,不过好像solaris5.8之后才有,5.7上就没有。
4. 查看IO情况 iostat
iostat -x -I 1 若系统明显变慢,也可用此命令检查磁盘I/O情况
5. 查看CPU 可以用 psrinfo -v
查看详细信息
/usr/platform/sun4u/sbin/prtdiag -v
6. sar
sar -u 3 20 若系统明显变慢,用此命令检查cpu占用率
sar –r 3 20 用此命令检查内存使用情况
下面是我自己在网上找到的,希望能对你有所帮助。
1. # ps -eo pid,pcpu,args | sort +1n
该命令输出当前系统进程的pid, cpu占用率及命令描述,并以pcpu来排序(尝试过,没有成功,据说在RedHat上可行的。)
2. top -p
不同的系统top的设置不尽相同,因此使用时需要注意。
3. prstat -p
prstat 检查系统中进程占用CPU,内存等情况。可以代替top,不过好像solaris5.8之后才有,5.7上就没有。
4. 查看IO情况 iostat
iostat -x -I 1 若系统明显变慢,也可用此命令检查磁盘I/O情况
5. 查看CPU 可以用 psrinfo -v
查看详细信息
/usr/platform/sun4u/sbin/prtdiag -v
6. sar
sar -u 3 20 若系统明显变慢,用此命令检查cpu占用率
sar –r 3 20 用此命令检查内存使用情况
|
system("cmd");
用上面函数调用 控制台命令
具体监控cpu命令有这些
UNIX监视命令CPU部分2009年08月18日 星期二 17:38
1.1 sar
(1)作用
系统活动记录
(2)语法
sar [options] [-A] [-o file] t [n]
(3)主要参数
-A:所有报告的总和。
-u:CPU利用率。
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。
1.2 mpstat
(1)作用
mpstat是Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。
(2)语法
mpstat [-P {|ALL}] [internal [count]]
(3)主要参数
-P {|ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值。
internal 相邻的两次采样的间隔时间。
count 采样的次数,count只能和delay一起使用。
1.3 top
(1)作用
显示、管理执行中的程序。 执行top指令可显示目前正在系统中执行的程序,并通过它所提供的互动式界面,用热键加以管理。
(2)语法
top [bciqsS][d ][n ]
(3)主要参数
b 使用批处理模式。
c 列出程序时,显示每个程序的完整指令,包括指令名称,路径和参数等相关信息。
d 设置top监控程序执行状况的间隔时间,单位以秒计算。
i 执行top指令时,忽略闲置或是已成 为Zombie的程序。
n 设置监控信息的更新次数。
q 持续监控程序执行的状况。
s 使用保密模式,消除互动模式下的潜在危机。
S 使用累计模式,其效果类似ps指令的"-S"参数。
1.4 tload
(1) 作用
显示系统负载状况。
(2) 语法
tload [-V][-d ][-s ][终端机编号]
(3) 补充说明
tload指令使用ASCII字符简单地以文字模式显示系统负载状态。假设不给予终端机编号,则会在执行tload指令的终端机显示负载情形。
参数:
-d 设置tload检测系统负载的间隔时间,单位以秒计算。
-s 设置图表的垂直刻度大小,单位以列计算。
-V 显示版本信息。
用上面函数调用 控制台命令
具体监控cpu命令有这些
UNIX监视命令CPU部分2009年08月18日 星期二 17:38
1.1 sar
(1)作用
系统活动记录
(2)语法
sar [options] [-A] [-o file] t [n]
(3)主要参数
-A:所有报告的总和。
-u:CPU利用率。
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。
1.2 mpstat
(1)作用
mpstat是Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。
(2)语法
mpstat [-P {|ALL}] [internal [count]]
(3)主要参数
-P {|ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值。
internal 相邻的两次采样的间隔时间。
count 采样的次数,count只能和delay一起使用。
1.3 top
(1)作用
显示、管理执行中的程序。 执行top指令可显示目前正在系统中执行的程序,并通过它所提供的互动式界面,用热键加以管理。
(2)语法
top [bciqsS][d ][n ]
(3)主要参数
b 使用批处理模式。
c 列出程序时,显示每个程序的完整指令,包括指令名称,路径和参数等相关信息。
d 设置top监控程序执行状况的间隔时间,单位以秒计算。
i 执行top指令时,忽略闲置或是已成 为Zombie的程序。
n 设置监控信息的更新次数。
q 持续监控程序执行的状况。
s 使用保密模式,消除互动模式下的潜在危机。
S 使用累计模式,其效果类似ps指令的"-S"参数。
1.4 tload
(1) 作用
显示系统负载状况。
(2) 语法
tload [-V][-d ][-s ][终端机编号]
(3) 补充说明
tload指令使用ASCII字符简单地以文字模式显示系统负载状态。假设不给予终端机编号,则会在执行tload指令的终端机显示负载情形。
参数:
-d 设置tload检测系统负载的间隔时间,单位以秒计算。
-s 设置图表的垂直刻度大小,单位以列计算。
-V 显示版本信息。