在日常的服务器管理和维护中,了解服务器的CPU和内存使用情况是非常重要的。这不仅有助于我们及时发现性能瓶颈,还能帮助我们优化资源配置,确保服务器的稳定运行。本文将介绍如何使用命令行工具来查看服务器的CPU和内存使用情况。

1. 使用top命令查看CPU和内存

top命令是Linux系统中一个非常常用的实时监控工具,它可以显示系统的整体运行状态,包括CPU、内存、进程等信息。

使用方法:

top

输出示例:

top - 14:32:01 up  2:15,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.2 sy,  0.0 ni, 99.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7984.0 total,   1234.5 free,   2345.6 used,   4403.9 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   5200.0 avail Mem

top的输出中,%Cpu(s)行显示了CPU的使用情况,MiB MemMiB Swap行分别显示了内存和交换空间的使用情况。

2. 使用htop命令查看CPU和内存

htoptop的增强版,提供了更加友好的界面和更多的功能。它允许用户通过颜色和图形化的方式查看CPU和内存的使用情况。

安装方法:

sudo apt-get install htop  # 对于Debian/Ubuntu系统
sudo yum install htop      # 对于CentOS/RHEL系统

使用方法:

htop

输出示例:

PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
123 root       20   0  123M   45M   12M S  0.7  0.6   0:00.01 sshd
456 user       20   0  456M  123M   45M S  1.2  1.5   0:00.02 htop

htop的输出中,CPU%列显示了每个进程的CPU使用率,MEM%列显示了每个进程的内存使用率。

3. 使用free命令查看内存

free命令专门用于查看系统的内存使用情况,包括物理内存和交换空间。

使用方法:

free -h

输出示例:

total        used        free      shared  buff/cache   available
Mem:           7.8G        2.3G        1.2G        123M        4.4G        5.2G
Swap:          2.0G          0B        2.0G

free的输出中,total列显示了总内存,used列显示了已使用的内存,free列显示了空闲的内存。

4. 使用vmstat命令查看CPU和内存

vmstat命令可以显示系统的虚拟内存、进程、CPU活动等信息。

使用方法:

vmstat 1 5  # 每隔1秒显示一次,共显示5次

输出示例:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  0      0 123456  23456 456789    0    0    12    34  567 1234  1  2 97  0  0

vmstat的输出中,us列显示了用户空间的CPU使用率,sy列显示了内核空间的CPU使用率,id列显示了空闲的CPU百分比。

5. 使用mpstat命令查看CPU

mpstat命令可以显示每个CPU核心的使用情况。

安装方法:

sudo apt-get install sysstat  # 对于Debian/Ubuntu系统
sudo yum install sysstat      # 对于CentOS/RHEL系统

使用方法:

mpstat -P ALL 1 5  # 每隔1秒显示一次,共显示5次,显示所有CPU核心

输出示例:

Linux 5.4.0-42-generic (hostname) 	10/10/2023 	_x86_64_	(4 CPU)

14:32:01     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
14:32:02     all    0.50    0.00    0.25    0.00    0.00    0.00    0.00    0.00    0.00   99.25
14:32:02       0    0.50    0.00    0.25    0.00    0.00    0.00    0.00    0.00    0.00   99.25
14:32:02       1    0.50    0.00    0.25    0.00    0.00    0.00    0.00    0.00    0.00   99.25
14:32:02       2    0.50    0.00    0.25    0.00    0.00    0.00    0.00    0.00    0.00   99.25
14:32:02       3    0.50    0.00    0.25    0.00    0.00    0.00    0.00    0.00    0.00   99.25

mpstat的输出中,%usr列显示了用户空间的CPU使用率,%sys列显示了内核空间的CPU使用率,%idle列显示了空闲的CPU百分比。

总结

通过以上几种命令,我们可以方便地查看服务器的CPU和内存使用情况。tophtop适合实时监控,free适合查看内存使用情况,vmstatmpstat则提供了更详细的CPU和内存使用信息。根据实际需求选择合适的工具,可以帮助我们更好地管理和优化服务器性能。