news 2026/8/9 16:02:14

Linux性能优化工具系列详解(2)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux性能优化工具系列详解(2)

接前一篇文章:Linux性能优化工具系列详解(1)

本系列内容参考:

极客时间 —— 倪朋飞 《Linux 性能优化实战》

特此致谢!

系列工具

1. uptime

上一回结合man介绍了uptime命令,本回结合实际命令结果,对于uptime进行进一步对照讲解。

(3)实际命令结果分析

在笔者电脑虚拟机上执行uptime命令,实际命令及结果如下:

$ uptime 11:07:53 up 30 min, 1 user, load average: 1.00, 1.05, 0.90

对照上一回的命令说明来看:

uptime提供以下信息的单行显示:当前时间、系统运行时间、当前登录用户数以及过去1、5和15分钟的系统负载平均值。

上边uptime命令执行结果中:

  • 11:07:53:当前时间(指令执行时的时间);
  • up 30 min:系统运行时间。也就是系统自最近一次启动以来,已经运行了30分钟了;
  • 1 user:当前有1个用户登录。
  • load average: 1.00, 1.05, 0.90:过去1分钟、5分钟、15分钟的平均负载。

什么是平均负载呢?

上一回给出的官方文档中已经讲得比较清楚了:

系统负载平均值是处于可运行或不可中断状态的进程的平均数量。

处于可运行状态的进程要么正在使用CPU,要么正在等待使用CPU;处于不可中断状态的进程正在等待某些I/O访问,例如等待磁盘。在三个(种)时间间隔内取平均值。

负载平均值不是针对系统中的CPU数量进行归一化的,因此负载平均值为1意味着单CPU系统一直在加载,而在4 CPU系统上,这意味着它有75%的时间处于空闲状态。

说得再直白一些,平均负载是指单位时间内,系统处于可运行状态不可中断状态的平均进程数,也就是平均活跃进程数。所谓可运行状态,是指进程正在使用CPU或者正在等待CPU,也就是平常使用ps命令看到的,处于R状态(Running或Runnable)的进程;而不可中断的状态,则是指进程正处于内核态关键流程,并且这些流程是不可打断的。也就是用ps命令看到的,处于D状态(Uninterruptible Sleep,也称Disk Sleep)的进程。

平均活跃进程数,简单理解就是单位时间内的活跃进程数(当然实际上是指活跃进程数的指数平均值)。既然是平均的是活跃进程数,那么最理想地,是每个CPU上都刚好有一个进程在运行,这代表了每个CPU都得到了充分利用,既不繁重、也不浪费。官方文档中给了一个例子,在这里展开讲一下:

假设当前系统的平均负载(负载平均值)为2,那么就意味着,在(单核)单CPU系统上,有一半的进程竞争不到CPU;在双CPU系统上,所有的CPU都刚好被完全占用;而在4 CPU系统上,则意味着CPU有50%的时间处于空闲状态。

再执行两次uptime命令,结果如下:

$ uptime 11:13:18 up 35 min, 1 user, load average: 1.01, 1.02, 0.94
$ uptime 11:13:22 up 36 min, 1 user, load average: 1.01, 1.02, 0.94

根据这3次的平均负载结果,可以看到load average分别是1.00, 1.05, 0.90、1.01, 1.02, 0.94、1.01, 1.02, 0.94。这就说明以下几点:

1)三次结果中每一次的1分钟、5分钟、15分钟的3个负载平均值相差不大,说明负载比较平稳。最近有略微增长的趋势;

2)三次结果的1分钟、5分钟、15分钟的3个负载平均值横向比较也相差不大,也说明负载相对平稳。

(4)命令选项实际效果

根据上一回的官方文档,uptime命令包括以下选项:

选项

  • -p, --pretty:以漂亮的格式显示正常运行时间。
  • -h, --help:显示此帮助文本。
  • -s, --since:以yyyy-mm-dd HH:mm:SS格式显示系统已运行时间。
  • -V, --version:显示版本信息并退出。

下边对于各选项进行实际测试并给出结果。

1)-h, --help

实际命令及结果如下:

$ uptime -h Usage: uptime [options] Options: -p, --pretty show uptime in pretty format -h, --help display this help and exit -s, --since system up since -V, --version output version information and exit For more details see uptime(1).

2)-V, --version

实际命令及结果如下:

$ uptime -V uptime from procps-ng 3.3.17

3)-p, --pretty

实际命令及结果如下:

$ uptime 21:44:32 up 2:03, 1 user, load average: 1.00, 1.01, 1.09 $ uptime -p up 2 hours, 3 minutes

4)-s, --since

实际命令及结果如下:

$ uptime -s 2026-08-08 19:41:24

(4)平均负载与CPU使用率的区别

实际工作中,经常会把平均负载和CPU使用率混淆。其实这两者并不是一回事。

平均负载是指单位时间内,处于可运行状态和不可中断状态的进程数。它不仅包括了正在使用CPU的进程,还包括了等待CPU和等待I/O的进程。

而CPU使用率,则是对单位时间内CPU繁忙情况的统计,与平均负载并不一定完全对应。

  • CPU密集型进程,使用大量CPU会导致平均负载升高。这种情况下,平均负载与CPU使用率二者是一致的;
  • 大量等待CPU的进程调度也会导致平均负载升高,此时CPU使用率也会比较高,二者也趋于一致;
  • I/O密集型进程,等待I/O也会导致平均负载升高,但这种情况下,CPU使用率不一定很高。二者就并不一致了。

至此,性能优化的第1个命令 —— uptime就讲完了。当然,后边讲其它命令以及系统整体优化的时候还会遇到,到时候再来回顾并进一步掌握此命令。

更多内容请看下回。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/9 16:02:00

GDB调试工具:从入门到实战技巧

1. GDB调试工具概述GDB(GNU Debugger)是Linux环境下最常用的程序调试工具之一,它能够帮助开发者快速定位和修复代码中的问题。作为GNU项目的重要组成部分,GDB支持多种编程语言(C、C、Go等)和处理器架构&…

作者头像 李华
网站建设 2026/8/9 16:01:27

OpenClaw智能体进阶实战:Docker部署、Nginx安全网关与飞书机器人集成

1. 项目概述:从“能用”到“好用”的OpenClaw进阶之路 最近在折腾本地AI智能体,OpenClaw(小龙虾)这个名字出现的频率越来越高。它作为一个开源的AI智能体框架,确实让很多开发者尝到了“让AI自己干活”的甜头。但说实话…

作者头像 李华
网站建设 2026/8/9 15:59:56

NVIDIA Profile Inspector完整指南:如何免费解锁显卡200+隐藏设置

NVIDIA Profile Inspector完整指南:如何免费解锁显卡200隐藏设置 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 你是否曾经感觉自己的NVIDIA显卡性能没有完全发挥?是否厌倦了官…

作者头像 李华
网站建设 2026/8/9 15:58:00

Higress云原生网关:AI驱动与生产实践解析

1. Higress 加入 CNCF 的技术意义 作为云原生计算基金会(CNCF)的新晋项目,Higress 的加入标志着开源社区对下一代 Ingress 控制器技术路线的认可。这个基于 Envoy 代理构建的网关解决方案,正在重新定义现代应用流量管理的标准范式…

作者头像 李华
网站建设 2026/8/9 15:54:36

JMeter性能测试入门:从核心原理到实战安装与脚本编写

1. 项目概述:为什么是JMeter? 如果你是一名软件测试工程师,或者正在向这个方向发展,那么“性能测试”这个词你一定不陌生。当用户抱怨系统卡顿、页面加载缓慢,或者在大促活动时服务器直接宕机,背后往往就是…

作者头像 李华
网站建设 2026/8/9 15:53:45

如何实现Universal Android Debloater的智能更新系统:终极指南

如何实现Universal Android Debloater的智能更新系统:终极指南 【免费下载链接】universal-android-debloater Cross-platform GUI written in Rust using ADB to debloat non-rooted android devices. Improve your privacy, the security and battery life of you…

作者头像 李华