我试图在我的Linux机器上定期在C程序中指定的特定CPU上运行一个进程。我不确定如何在我的程序中指定进程需要在其上运行的特定CPU。我知道include/linux/sched.h目录中有task_struct。在检查结构时,我看到了关于CPU的多个字段。但我在(To access PCB of process in C)上看到,访问任务/进程信息并不是一件明智的事情,也根本不容易。
我不知道是什么或谁在使用这个数量的CPU,这台机器是一个双四核,16 GB内存。运行Ubuntu 10.04PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7873 root 20 0 530m进程如何进入103 %的负载?这个线程是相关的吗?我是应该担心呢,还是这是正常行为?
我想使用statsd和石墨来监视linux进程(记录cpu和ram的使用统计数据,并在一段时间内以图形方式显示它们)。我已经将statsd和graphite配置为作为服务运行。如何将linux资源使用统计数据(即CPU和RAM)发送到statsd,以便可以在graphically web UI中以图形方式查看它们?
谢谢。