Linux 中 一切皆为文件 的设计理念带来了许多好处:
统一接口: 使用相同的 API 可以对所有类型的文件进行操作,例如读取、写入、移动、删除、修改权限等
简化管理: 使用相同的工具和方式来管理文件和设备的操作,例如备份、复制、移动、删除、链接等
编程性 : 一个程序可以通过文件与其他程序通信,使得程序之间的交互、测试、集成等行为变得更容易,并且可以针对不同的应用场景,使用适用的编程语言来编写代码,提升灵活性和开发效率
扩展性 : 可以创建自定义的文件系统以支持特定的文件或设备类型,最终将新的硬件或软件集成到已有系统中
Linux 将资源抽象为文件表示,那么和 CPU 相关的数据是否也会被抽象为文件,进而保存在某个文件中呢?
通过查找 Linux 开发在线文档,可以发现和 CPU 相关的数据主要分布于 /proc 目录下的几个文件中:
/proc/stat
提供了内核统计数据,当然也包括了 CPU 的数据。
/proc/cpuinfo
提供了有关 CPU 的详细数据,包括 CPU 型号、核心数量等。
/proc/<PID>/stat
和 /proc/stat 提供的数据类似,但是数据对应的是单个进程。
在Linux中,可以使用以下命令来获取CPU使用率:
- 使用top命令,在top命令的输出中,可以看到CPU使用率的信息。
-
使用mpstat命令,mpstat命令可以显示每个CPU的使用率。
- 使用sar命令,sar命令可以显示系统的CPU使用率。
- 使用pidstat命令,pidstat命令可以显示每个进程的CPU使用率。
- 使用htop命令,htop是一个交互式的进程查看器,可以显示CPU使用率和其他系统信息。