当前位置:

首页 > 系统应用 > 如何检查 Linux 内核性能计数器是否激活

如何检查 Linux 内核性能计数器是否激活

介绍 在这个实验中,你将学习如何检查 Linux 中内核性能计数器 (kernel performance counters) 是否处于活动状态。你将探索如何使用 CODE0 命令来测量命令执行的性能计数器,验证 CODE1 文件系统内的性能计数器配置,并使用 CODE_2 检查内核日志中与性能计数

介绍

在这个实验中,你将学习如何检查 Linux 中内核性能计数器 (kernel performance counters) 是否处于活动状态。你将探索如何使用 CODE0 命令来测量命令执行的性能计数器,验证 CODE1 文件系统内的性能计数器配置,并使用 CODE_2 检查内核日志中与性能计数器相关的消息。通过这个实践经验,你将掌握诊断和了解 Linux 系统上性能监控状态的技能。

使用 perf stat 检查计数器

在这一步中,你将学习如何使用 CODE_0 命令来测量性能计数器。性能计数器是特殊的硬件寄存器,用于统计 CPU 内发生的特定事件,例如执行的指令数量、缓存未命中次数或分支预测情况。

CODE0 工具是 Linux 中用于性能分析的强大命令行实用程序。CODE1 用于运行一个命令,并收集该命令执行过程中的性能计数器统计信息。

让我们从运行一个简单的命令并观察其性能计数器开始。我们将使用 CODE_0 命令,该命令用于列出目录内容。

如果你还没有打开终端,请打开它。你可以在桌面左侧找到 Xfce Terminal 图标。

现在,输入以下命令并按回车键:

perf stat ls

你应该会看到类似于以下的输出:

```plaintext
Performance counter stats for 'ls':

任务耗时(毫秒) ## 所用CPU
上下文切换次数 ## /秒
CPU迁移次数 ## /秒
页面错误次数 ## /秒
周期数 ## GHz
指令数 ## 每周期指令数
分支数 ## 占总指令数的百分比
分支丢失数 ## 占总分支数的百分比

msec task-clock ## CPUs utilized

```

具体的数字和事件可能会因系统和具体执行情况而异,但你应该会看到在执行 CODE_0 命令期间的一系列性能事件及其计数。

你可能会看到的一些常见事件包括:

  • CODE_0:任务在 CPU 上运行的总时间。
  • CODE_0:花费的 CPU 周期数。
  • CODE_0:执行的指令数量。
  • CODE_0:分支预测错误的次数。

理解这些计数器可以帮助你识别代码或系统中的性能瓶颈。

你还可以对更复杂的命令甚至脚本运行 CODE_0 来分析其性能。

例如,让我们尝试对一个简单的 CODE0 命令运行 CODE1:

perf stat sleep 1

这将在系统休眠 1 秒时测量性能计数器。输出将显示 CODE_0 进程的计数器。

尝试对不同的命令运行 CODE_0,看看计数器如何变化。

点击 Continue 进入下一步。

验证 /sys/kernel 中的计数器配置

在这一步中,你将探索 Linux 内核的 CODE0 文件系统是如何展示性能计数器配置的。CODE1 文件系统提供了一个访问内核数据结构的接口,允许你查看,有时还能修改内核参数。

性能计数器的设置,例如非特权用户是否可以访问原始性能计数器事件,通常是通过 CODE_0 目录下的文件来控制的。

让我们导航到相关目录并查看一个配置文件。

首先,使用 CODE0 命令将当前目录更改为 CODE1。记住,你的默认目录是 CODE_2,所以你需要使用绝对路径。

输入以下命令并按回车键:

cd /sys/kernel/perf_event

现在你已进入 CODE0 目录。你可以使用 CODE1 命令查看该目录下的文件:

ls

你应该会看到一个文件列表,可能包括:

kptr_restrict  perf_event_paranoid  sysfs_deprecated

我们感兴趣的文件是 CODE_0。这个文件控制着非特权用户对性能事件的访问级别。数值越低表示限制越少(访问权限越高),数值越高表示限制越多(访问权限越低)。

让我们使用 CODE_0 命令查看这个文件的内容:

cat perf_event_paranoid

输出将是一个单独的数字,通常在 -1 到 2 之间。

以下是不同数值的一般含义:

  • CODE0:允许所有用户使用所有 CODE1 功能。
  • CODE0:允许所有用户使用 CODE1 进行进程级和 CPU 级的测量。
  • CODE0:仅允许特权用户(如 root)使用 CODE1 进行进程级和 CPU 级的测量。
  • CODE0:仅允许特权用户使用 CODE1 进行进程级的测量。

出于安全考虑,默认值通常为 2,以防止非特权用户可能利用性能计数器获取其他进程的信息。

了解这个文件有助于你了解系统在性能监控访问方面的配置情况。

点击 Continue 继续。

检查 dmesg 中的计数器日志

在这一步,咱们来了解一下如何运用CODE0命令查看内核消息。这些消息有时会包含与性能计数器或CODE1事件相关的信息哦。CODE_2这个命令呢,是专门用来显示内核环形缓冲区消息的。要知道,这些消息可是内核在启动和运行期间生成的,其中包含了对调试和系统分析非常有价值的信息呢。

虽然 CODE_0 本身通常会直接将统计信息输出到终端,但内核与性能监控硬件的交互或任何相关问题可能会记录在内核环形缓冲区中。

要查看内核消息,请使用 CODE_0 命令:

dmesg

这可能会在你的终端上输出大量内容,显示内核环形缓冲区中的所有消息。

要查找与 CODE0 或性能计数器特别相关的消息,你可以将 CODE1 的输出通过管道传递给 CODE2 命令。CODE3 是一个使用模式搜索文本的强大工具。

让我们搜索包含“perf”这个词的消息:

dmesg | grep perf

这个命令的作用如下:

  • CODE_0:输出内核消息。
  • CODE_0:这是一个管道符号,它将左边命令的输出作为输入传递给右边的命令。
  • CODE_0:在输入中搜索包含“perf”这个词的行。

你可能会看到类似以下的输出(或者根据最近的内核事件,可能什么都看不到):

[] perf: interrupt took too long ( >  ms), lowering kernel.perf_event_paranoid to 

这个示例消息表明性能中断花费的时间过长,内核自动将 CODE_0 设置(我们在上一步中看到过)调整为限制较少的值,以可能缓解这个问题。

你还可以搜索其他相关术语,如“performance”或“counter”:

dmesg | grep performance
dmesg | grep counter

查看 CODE_0 的输出有助于诊断与性能监控相关的问题,或者了解内核如何与性能计数器硬件进行交互。

点击 Continue 完成本次实验。

总结

在本次实验中,你学习了如何检查 Linux 内核性能计数器是否处于激活状态。你首先使用 CODE0 命令为像 CODE1 这样的简单命令测量性能计数器,观察各种性能事件的输出及其计数。这展示了 CODE_2 工具在性能分析方面的基本功能。

接着,实验引导你验证 CODE0 文件系统中的性能计数器配置,并在 CODE1 输出中查看与计数器相关的日志。这些步骤提供了确认系统对内核性能计数器的支持和激活状态的方法,除了 CODE_2 命令之外,还提供了评估其可用性的其他途径。

本文内容来源于网友投稿,如有侵权请联系删除。
作者最新文章
系统应用
相关文章 更多
普通用户选Windows 10家庭版还是专业版?适用场景分析
普通用户选Windows 10家庭版还是专业版?适用场景分析

不确定该选Windows 10家庭版还是专业版?本文解析两者在远程连接、磁盘加密和虚拟化等方面的实际差异,帮你避开性能误区,根据真实使用场景做出最具性价比的选择。

win10断电重启后自动继续更新要怎么阻止
win10断电重启后自动继续更新要怎么阻止

Win10断电重启后总是自动继续更新怎么办?别强行关机,先等恢复完成。教你用暂停更新、设置活动时间和按流量计费连接,减少更新对工作的打扰。注意Win10支持已终止,长期不更新有风险。

win10能不能单独关闭功能更新不关闭安全补丁
win10能不能单独关闭功能更新不关闭安全补丁

解析Windows 10功能更新与质量更新的区别。说明个人家庭版无法永久单独关闭功能更新,专业版可通过组策略延迟功能升级。提醒用户关注Win10支持终止时间,避免误用禁用服务导致安全风险。

win10使用移动热点如何禁止win10自动更新下载
win10使用移动热点如何禁止win10自动更新下载

想知道Win10连手机热点时如何避免偷跑流量?只需将热点网络设为“按流量计费的连接”,即可限制Windows Update自动下载非优先更新。本文提供详细界面导览与设置步骤,助你精准控制后台数据消耗。

U盘启动安装Windows11容易失败?正确装机流程是什么
U盘启动安装Windows11容易失败?正确装机流程是什么

详解 Windows 11 安装的三种路径风险,指导如何制作官方安装介质、正确进入启动菜单、安全清理磁盘分区以及装后验证激活状态,帮助用户避免数据丢失和安装失败。

win10怎么只关闭大版本升级保留安全更新推送
win10怎么只关闭大版本升级保留安全更新推送

想只关闭Win10大版本升级但保留安全补丁?本文区分功能更新与质量更新,详解专业版组策略配置方法,并说明家庭版限制及Win10停止支持后的应对建议。

win10笔记本外出联网如何阻止自动下载更新包
win10笔记本外出联网如何阻止自动下载更新包

Win10笔记本外出使用手机热点时,如何防止自动下载更新包消耗流量?本文详解通过设置“按流量计费的连接”和“暂停更新”来精准控制流量,对比传递优化限速效果,并解释为何不应直接禁用Windows Update服务。

Windows 10家庭版和专业版有什么区别?核心功能对比
Windows 10家庭版和专业版有什么区别?核心功能对比

想知道Windows 10家庭版和专业版怎么选?本文不聊跑分,只讲远程桌面、磁盘加密和组策略等关键功能的实际差异,帮你判断是否真的需要升级到专业版。

Win11专业版和家庭版安装流程有什么区别
Win11专业版和家庭版安装流程有什么区别

Windows 11 家庭版和专业版在安装步骤上并无本质差异,主要区别在于产品密钥激活和功能解锁。本教程指导你如何检查硬件兼容性、使用官方媒体创建工具制作安装盘,以及在安装过程中正确选择版本。同时解析安装后如何验证激活状态,以及从家庭版升级到专业版的正规路径,确保系统稳定且合规。

除了界面,Windows11和Win10还有哪些实质差异
除了界面,Windows11和Win10还有哪些实质差异

除了开始菜单的变化,Windows 11在TPM 2.0安全要求、窗口贴靠布局、驱动兼容性以及系统更新策略上与Windows 10有显著不同。本文详解两者实质差异,助你判断是否值得升级。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
photoshop
photoshop
Windows、macOS 、 iPad

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

WINDOWS 更多
3dmax(3ds max)
3dmax(3ds max)
Windows

Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

photoshop
photoshop
Windows、macOS 、 iPad

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。