首先直接给出我们服务器巡检的几项分析指标,如表格所示:
指标 | 数值 |
---|---|
15分钟内CPU 负载 | 4% |
内存剩余可用 | 337M |
内存大小 | 3.7G |
硬盘大小 | 50G |
硬盘已用 | 3.4G |
网络流入速率(RX) | 188kb |
网络流出速率(TX) | 131kb |
您可以使用以下命令来查看 Linux 服务器的性能指标:
free -h
执行该命令后,会输出当前系统的内存使用情况,包括总内存、已用内存、剩余内存等信息,例如:
total used free shared buff/cache available
Mem: 15Gi 3.3Gi 9.9Gi 128Mi 2.3Gi 11Gi
Swap: 4.0Gi 0B 4.0Gi
其中,total 表示总内存大小,free 表示剩余可用内存大小。
df -h
执行该命令后,会输出当前系统的硬盘使用情况,包括磁盘挂载点、总大小、已用大小、可用大小等信息,例如:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 5.9G 41G 13% /
/dev/sda2 50G 33G 14G 71% /data
其中,Size 表示总大小,Used 表示已用大小,Avail 表示可用大小。
iftop
执行该命令后,会实时显示网络流入和流出的速率和流量,例如:
1.23Mb 2.46Mb 3.69Mb 4.92Mb 6.15Mb 7.38Mb
===============================================================================================
TX: cum: 13.2MB 13.2MB 13.2MB dev: 0.0% 0.0% 0.0% 0/0B 0/0B 0/0B
RX: cum: 11.9MB 11.9MB 11.9MB dev: 0.0% 0.0% 0.0% 0/0B 0/0B 0/0B
TOTAL: cum: 25.1MB 25.1MB 25.1MB dev: 0.0% 0.0% 0.0% 0/0B 0/0B 0/0B
其中,TX 表示网络流出,RX 表示网络流入,cum 表示累计流量,dev 表示网络设备的占用率。
注意,上述命令需要在 Linux 服务器上执行。如果您是通过 SSH 登录到服务器,则可以直接在终端中输入这些命令。如果您是通过远程桌面或 Web 控制台登录到服务器,则需要打开终端或命令行工具来执行这些命令。
top -bn1 | grep load
top -bn1 | grep load,用于输出 CPU 负载信息。执行该脚本后,会依次输出服务器的内存使用情况、硬盘使用情况、网络流量情况和 CPU 负载信息
在 Linux 系统中,负载(Load Average)指的是一段时间内运行队列中的平均进程数,也可以理解为正在使用 CPU 和等待 CPU 的进程数。在系统负载高的情况下,表示 CPU 正在被大量的进程使用,或者有大量的进程在等待 CPU 时间片,可能会导致系统响应变慢。
Linux 系统的负载值通常由三个数字组成,分别代表 1 分钟、5 分钟和 15 分钟内的平均进程数。例如,您提供的负载值 “0.00, 0.01, 0.16” 表示:
一般来说,当负载值小于 CPU 数量的 70% 时,表示系统负载较低;当负载值大于 CPU 数量的 70% 时,表示系统负载较高;当负载值超过 CPU 数量时,表示系统负载非常高,可能会导致系统响应变慢。
例如,如果您的服务器有 4 个 CPU 核心,那么当负载值小于 2.8(4*0.7)时,表示系统负载较低;当负载值大于 2.8 时,表示系统负载较高;当负载值超过 4 时,表示系统负载非常高。
需要注意的是,负载值并不是唯一的性能指标,系统的 CPU 使用率、内存使用率、I/O 等性能指标也需要考虑。通常需要综合考虑多个性能指标来评估系统的性能状况。
要计算负载百分比,首先需要知道服务器的 CPU 核心数量。假设您的服务器有 4 个 CPU 核心,那么可以使用以下公式来计算负载百分比:
负载百分比 = (load average / CPU 核心数量) * 100%
例如,对于您提供的负载值 “0.00, 0.01, 0.16”,计算负载百分比的结果为:
1 分钟负载百分比 = (0.00 / 4) * 100% = 0%
5 分钟负载百分比 = (0.01 / 4) * 100% = 0.25%
15 分钟负载百分比 = (0.16 / 4) * 100% = 4%
因此,您的服务器的负载百分比在短时间内非常低,但在长时间内可能会达到 4% 左右,这个数值是相对较低的,表示服务器的 CPU 运行状况较好。需要注意的是,负载百分比只是参考值,实际情况还需要综合考虑其他性能指标来评估系统的性能状况。
您可以使用以下命令来查看 Linux 服务器的 CPU 核心数量:
grep -c ^processor /proc/cpuinfo
执行该命令后,会输出当前系统的 CPU 核心数量,例如:
4
其中的数字表示当前系统的 CPU 核心数量。
另外,您也可以使用 lscpu
命令来查看 CPU 的详细信息,包括 CPU 核心数量、CPU 频率、CPU 型号等。例如,执行以下命令查看 CPU 核心数量:
lscpu | grep "^CPU(s):"
执行该命令后,会输出当前系统的 CPU 核心数量,例如:
CPU(s): 4
其中的数字也表示当前系统的 CPU 核心数量。
需要注意的是,不同的 CPU 型号可能具有不同的核心数量和线程数量,因此在不同的服务器上,同样的命令可能会输出不同的结果。
附上一个shell脚本
#!/bin/bash
# 内存使用情况
echo "Memory Usage:"
free -h
# 硬盘使用情况
echo "Disk Usage:"
df -h
# 网络流量情况
echo "Network Traffic:"
iftop
# CPU 负载情况
echo "CPU Load:"
top -bn1 | grep load