linux之/proc目录CPU解说

本文介绍了Linux系统中通过/proc/cpuinfo和/proc/stat等文件获取CPU资源和工作状态的方法,包括理解CPU信息、分析处理器负载以及监控CPU利用率。通过对/proc/cpuinfo的读取,可以获取CPU硬件信息,而ppc_64命令则用于查询SMT设置。此外,通过/proc/stat可以计算CPU使用率和空闲率,以及分析进程负载。最后,文章提到了利用ps命令监控占用CPU最多的进程。
摘要由CSDN通过智能技术生成

在 Unix/Linux 系统日常管理和系统维护的过程中,随时可能需要查看 CPU 的使用状态,并根据相应信息分析系统状况,判断系统的资源使用情况和系统负载情况。本文在介绍 Unix/Linux 系统中 CPU 相关机制和工具的基础上,对各工具进行了分析比较,并给出了自动化监控系统环境和 CPU 利用率的例子代码供读者参考。

了解 Linux 系统中的可用 CPU 资源

Linux 系统由于其开放性的优势,近年来在易用性,稳定性和市场占有率上获得了一定的进步。Linux 提供了一个特殊而强大的伪文件系统 proc。在设计之初,proc 的目的是用户能够方便快捷的访问进程。经过长时间的发展,proc 文件系统已经可以提供查询系统状态,例如 CPU 状态,更改系统参数等多方面的功能。

在绝大多数的 Linux 发行版中,/proc 文件系统在系统启动时缺省挂载到目录 /proc,作为操作系统和应用进程的接口。用户和应用程序可以通过 proc 得到系统的信息,并可以改变内核的某些参数。/proc 目录中包含了许多特殊文件以允许对驱动和内核信息进行高层访问。只要用户或应用程序有正确的访问权限,它们就可以通过读写这些文件来获得信息或设置参数。由于 Linux 系统的状态,如进程占用的资源,是动态改变的,所以用户或应用程序读取 proc 文件时,proc 文件系统是动态从系统内核读出所需信息并提交的。当系统重启或者电源关闭的时候,/proc 系统中原有的数据和信息将全部丢失。但在下次系统启动时会重新建立。下面会介绍与 CPU 直接相关的两个 /proc 文件,cpuinfo 和 loadavg。

文件 /proc/cpuinfo 存放了 Linux 系统的 CPU 信息。随着 Linux 发行版,CPU 的类型、设置的不同,该文件的内容会有比较大的差异。有些发行版本的 cpuinfo 文件包含了诸如 CPU 步进 (stepping),制造厂商等详细的 CPU 硬件信息。而在一部分发行版中,该文件仅包含了每个处理器的基本信息,比如时钟频率。需要用户注意的是,在使用了 SMT 技术的系统上,/proc/cpuinfo 显示的是逻辑处理器的个数和属性

读取 /proc/cpuinfo
 # cat /proc/cpuinfo 
 processor       : 0 
 CPU             : POWER6 (raw), altivec supported 
 clock           : 4005.000000MHz 
 revision        : 3.1 (pvr 003e 0301) 

 processor       : 1 
 CPU             : POWER6 (raw), altivec supported 
 clock           : 4005.000000MHz 
 revision        : 3.1 (pvr 003e 0301) 

 processor       : 2 
 CPU             : POWER6 (raw), altivec supported 
 clock           : 4005.000000MHz 
 revision        : 3.1 (pvr 003e 0301) 

 processor       : 3 
 CPU             : POWER6 (raw), altivec supported 
 clock           : 4005.000000MHz 
 revision        : 3.1 (pvr 003e 0301) 

 processor       : 4 
 CPU             : POWER6 (raw), altivec supported 
 clock           : 4005.000000MHz 
 revision        : 3.1 (pvr 003e 0301) 

 processor       : 5 
 CPU             : POWER6 (raw), altivec supported 
 clock           : 4005.000000MHz 
 revision        : 3.1 (pvr 003e 0301) 

 processor       : 6 
 CPU             : POWER6 (raw), altivec supported 
 clock           : 4005.000000MHz 
 revision        : 3.1 (pvr 003e 0301) 

 processor       : 7 
 CPU             : POWER6 (raw), altivec supported 
 clock           : 4005.000000MHz 
 revision        : 3.1 (pvr 003e 0301) 
 clock           : 4005.000000MHz 
 revision        : 3.1 (pvr 003e 0301) 

 timebase        : 512000000 
 platform        : pSeries 
 model           : IBM,7998-61X 
 machine         : CHRP IBM,7998-61X

Linux 支持众多的硬件类型,并且有很多有差异的发行版。没有统一的命令可以得到或查询 SMT 的状态。但在基于 Power 核心的 IBM 服务器上,可以使用 ppc_64 命令。

 使用 ppc_64 命令获得 SMT 的设置
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值