/proc
“文件系统”是一个目录,其中包含的文件层次结构代表了 Linux 内核的当前状态。它允许用户和管理员查看系统的内核视图。
/proc
目录中还包含关于系统硬件及任何当前正在运行的程序信息。大部分在 /proc
中的文件是只读文件,但一些文件(主要是 /proc/sys 文件)能够被用户和应用程序操作,以便向内核传达配置的修改信息。
系统监控器有四个选项卡,每个都显示不同的系统信息。
系统:此选项卡显示关于系统硬件和软件的基本信息。
进程:此选项卡显示关于活动进程和进程间相互关系的具体信息。显示的进程可进行筛选,以便更容易找到某些特定的进程。
资源:此选项卡显示目前 CPU 的时间使用量,内存和交换空间用量以及网络使用情况。
文件系统:此选项卡列举了所有安装的文件系统,并提供每个的基本信息,例如文件系统类型、安装点和内存使用情况。
常用命令: top、ps、vmstat、sar
tuned 是一种后台调节程序,可通过设置调节配置文件使操作系统在特定工作负载下发挥更好的性能。
tuned-adm 是一个命令行工具,允许用户在不同调节配置文件中进行切换。
perf 工具通过使用硬件性能计数器和内核跟踪程序来追踪其他命令和应用程序对系统的影响。
turbostat 由 kernel-tools 数据包提供。是对 Intel® 64 位处理器中处理器的拓扑、频率、空闲的电源状态统计、温度和用电量的报告。turbostat 有助于识别服务器的用电量或空闲时间低效问题,也有助于识别系统的管理中断率 (SMI),并能验证电源管理调节的效果。
iostat 工具由 sysstat 数据包提供。它对系统输入/输出设备负载进行监控和报告,以协助管理员就如何在物理磁盘间输入/输出负载做出决定。它是对处理器或设备自 iostat 上次运行或启动的使用率的报告。用户可以通过使用在 iostat 手册页中定义的参数来在特定设备上关注这些报告的输出;
irqbalance 是一个通过分配处理器硬件中断以提高系统性能的命令行工具
ss 是一个命令行实用程序,显示 socket 的统计信息,使管理员能够根据时间来评估设备性能。ss 默认打开已建立连接但未在列表内的 TCP socket,也提供很多有用选项来协助管理员筛选出特定 socket 的统计数据。 Linux 7 中使用 ss 代替 netstat。 常见的用法 ss -tmpie
numastat 工具以每一个 NUMA 节点为基础了,显示处理器和操作系统的内存统计数据。
默认情况下,numastat 显示每个节点的 NUMA 从内核的内存分配器中缺失的系统统计数据。最佳性能表现为高 numa_hit
值和低 numa_miss
值。Numastat 也提供很多命令行选项来说明系统和进程的内存如何通过系统中 NUMA 节点进行分配。
numad 是一个自动的 NUMA 关联管理后台程序。它监控系统的 NUMA 拓扑和资源使用率,目的是为了动态地提高 NUMA 的资源分配和管理(从而提高系统性能)。numad 可以根据系统的工作负载来为性能基准提供高达 50% 的改善。它还提供预先安置咨询服务,可以通过多种工作关联系统进行查询,以此为最初绑定的 CPU 和内存资源的进程提供协助。
SystemTap 是一个跟踪和探测工具,使用户可以详尽地监控和分析操作系统的活动,尤其是内核活动。它提供的信息类似于 top、ps、netstat 和 iostat 工具的输出,但包括筛选和分析所收集数据的额外选项。
SystemTap 提供对系统活动和应用程序性能更为深入且更为准确的分析,使用户能够精确地找到系统和应用程序的瓶颈。
OProfile 是一个全系统性能监控工具。它使用处理器的专业性能监控硬件来检索关于内核和系统可执行文件的信息,以便确定某些事件的频率,比如引用内存时,就接收第二级缓存请求数和硬件请求数。OProfile 也可用于确定处理器的使用率,并确定最常使用的应用程序和服务。
Valgrind 提供大量的检测及分析工具以帮助提高应用程序的性能。这些工具能检测内存和与线程相关的错误,同样也能检测堆、栈和数组的超限运行,使用户能够轻松地定位和修改应用程序代码错误。它也可以配置缓存、堆和分支预测来确定能增加应用程序速度并最小化内存使用率的因素。
具体的参考: