C++ Coder

HCP高性能计算架构,实现,编译器指令优化,算法优化, LLVM CLANG OpenCL CUDA OpenACC C++AMP OpenMP MPI

C++博客 首页 新随笔 联系 聚合 管理
  98 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
查看系统信息 
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx) 
cat /proc/interrupts - 中断 
cat /proc/ioports - 设备IO端口 
cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size) 
cat /proc/partitions - 所有设备的所有分区 
cat /proc/pci - PCI设备的信息 
cat /proc/swaps - 所有Swap分区的信息 
cat /proc/version - Linux的版本号 相当于 uname -r 
uname -a - 看系统内核等信息 (1) 处理器使用率 
(2) 内存使用率 
(3) 流入流出数据包 
(4) 整体网络负载 
这些数据分别要从/proc/stat、/proc/net/dev、/proc/meminfo三个文件中提取。如里有问题或对要提取的数据不太清楚,可以使用man proc来查看proc文件系统的联机手册。 
(1) 处理器使用率 
这里要从/proc/stat中提取四个数据:用户模式(user)、低优先级的用户模式(nice)、内核模式(system)以及空闲的处理器时间(idle)。它们均位于/proc/stat文件的第一行。CPU的利用率使用如下公式来计算。 
CPU利用率 = 100 *(user + nice + system)/(user + nice + system + idle) 
(2) 内存使用率 
这里需要从/proc/meminfo文件中提取两个数据,当前内存的使用量(cmem)以及内存总量(amem)。 
内存使用百分比 = 100 * (cmem / umem) 
(3)网络利用率 
为了得到网络利用率的相关数据,需要从/proc/net/dev文件中获得两个数据:从本机输出的数据包数,流入本机的数据包数。它们都位于这个文件的第四行。 
性能收集程序开始记录下这两个数据的初始值,以后每次获得这个值后均减去这个初始值即为从集群启动开始从本节点通过的数据包。 
利用上述数据计算出网络的平均负载,方法如下: 
平 均网络负载 = (输出的数据包+流入的数据包) / 2 获取cpu和内存的还有2种方 法:1)toptop -n 1 -p [pid1,pid2,,,] >>topinfo.txt打开topinfo.txt就能获取进程 的内存cpu信息。2)psps -aux|grep [pid name]|grep -v grep获取到进程的内存cpu信息,其信息更加精练。  从以上来看,由于多线程程序cpu切换是与进程一样,因此无法体现真实的cpu使用率,要将上面方法综合使用才能获取到真实合理的系统信息。
posted on 2012-10-24 23:12 jackdong 阅读(908) 评论(0)  编辑 收藏 引用 所属分类: 软件使用技巧

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理