如何获取CPU使用率?
在Linux下如何编程获取CPU使用率呢?在/proc下边,只有cpuinfo,loadavg,这两个文件都没有CPU使用率,只有一个1/5/15分钟的平均负载,如何像top那样得到:cpu status:%XX user……
请教……
或者top for linux源码在哪儿可以下到吧,偶只到找for unix的,找了半天
如何获取CPU使用率?
是不是读的/proc/stat文件阿不是cpuinfo吧
如何获取CPU使用率?
1/5/15分钟的平均负载
这不就是cpu利用率吗
如何获取CPU使用率?
原帖由 "jeffwang8001" 发表:这不就是cpu利用率吗
是读“cpu status:%XX user %XXX system…… ”这样的使用情况
如何获取CPU使用率?
char* cpu(void){
unsigned int total;
float user;
float nice;
float system;
float idle;
char cpu;
char text;
FILE *fp;
fp = fopen("/proc/stat", "r");
while (fgets(text, 200, fp))
{
if (strstr(text, "cpu"))
{
sscanf(text, "%s %f %f %f %f", cpu, &user, &nice, &system, &idle);
}
}
fclose(fp);
total = (user + nice + system + idle);
user = (user / total) * 100;
nice = (nice / total) * 100;
system = (system / total) * 100;
idle = (idle / total) * 100;
snprintf(cpu, 21, "%4.2f %4.2f %3.2f %4.2f", user, nice, system, idle);
return(cpu);
}
如何获取CPU使用率?
也是论坛里找的。trap 'echo "$CN\c";trap 0;exit' 0 2 3 15
trap 'trap 0;exit' 1
N=`tput lines`
EL=`tput el` ED=`tput ed` CL=`tput clear` HO=`tput home`
CF=`tput civis` CN=`tput cnorm` F="%12.2f%3d$ED$HO"
echo "$CF$CL\c"
HDR="`ps -p1 -opid -opcpu -oc -oargs | head -1`"
while :
do
ps -e -opid= -opcpu= -oc= -oargs= |
sort -rn +1 |
awk -v H="$HDR" -v N="$N" -v E="$EL" -v F="$F" '
BEGIN{print H;N-=2}
$2>;0||$3{print substr($0,1,79) E;P+=$2;C+=$3}
NR>;=N{exit}
END{printf F,P,C}'
sleep ${1-1}# sleep time on script's command line (default 1 sec.)
done
如何获取CPU使用率?
原帖由 "duanjigang" 发表:FILE *fp;
fp = fopen("/proc/stat", "r");
while (fgets(text, 200, fp))
{
if (strstr(text, "cpu"))
{
sscanf(text, "%s %f %f %f %f", cpu, &user, &ni..........
强烈感谢你!!!
如何获取CPU使用率?
说个细节问题.他返回栈上变量了.