在CentOS系统中,内存优化是确保系统稳定性和提高性能的关键。合理管理和优化内存使用,可以帮助系统更高效地运行,尤其是在资源受限的环境中。以下将介绍五个实用命令,帮助你轻松管理系统内存。

1. free命令

free命令是Linux系统中查看内存使用情况的最常用工具之一。它能够显示系统的物理内存、交换内存以及缓存的使用情况。

基本用法

free [选项]

常用选项

  • -b:以字节为单位显示内存使用情况。
  • -k:以KB为单位显示内存使用情况(默认选项)。
  • -m:以MB为单位显示内存使用情况。
  • -g:以GB为单位显示内存使用情况。
  • -t:在输出的最后一行显示总内存使用情况。
  • -s <间隔时间>:周期性地显示内存使用情况,间隔时间为指定的秒数。
  • -c <次数>:指定周期性显示内存使用情况的次数。
  • -h:以人类可读的方式显示内存使用情况。

示例

[root@VM-16-3-centos ~]# free -h
Mem:           1609MiB     413MiB    1096MiB   0B     0B     0B
-/+ buffers/cache:   413MiB  1196MiB
Swap:            0B     0B     0B

2. top命令

top命令实时显示系统中运行的进程,并按CPU使用率或内存使用量进行排序。

基本用法

top

常用选项

  • -b:批量处理模式,用于脚本。
  • -c:显示完整的命令行。
  • -d <秒>:更新间隔时间。
  • -i:忽略中断。
  • -n <次数>:显示更新的次数。

示例

[root@VM-16-3-centos ~]# top
top - 22:45:00 up  3:01,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:  1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1609MiB  413MiB  1096MiB   0B   0B   0B
-/+ buffers/cache:  413MiB  1196MiB
Swap:      0MiB  0MiB   0MiB

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  1 root      20   0  32372   744M   4.0M S  0.0  45.0   0:00.00 systemd

3. ps命令

ps命令用于报告当前进程状态。它可以显示指定进程的详细信息,如进程ID、CPU和内存使用情况等。

基本用法

ps [选项] [进程ID或进程名]

常用选项

  • -a:显示所有进程。
  • -e:显示所有进程。
  • -f:全格式显示。
  • -p <进程ID>:显示指定进程的详细信息。
  • -o <格式>:指定输出格式。

示例

[root@VM-16-3-centos ~]# ps -ef | grep httpd
root      2980     1  0 22:21 ?        00:00:00 /usr/sbin/httpd
root      2981     1  0 22:21 ?        00:00:00 /usr/sbin/httpd

4. vmstat命令

vmstat命令报告虚拟内存统计信息,包括进程、CPU、内存、交换和磁盘I/O。

基本用法

vmstat [选项] [间隔时间] [次数]

常用选项

  • -s:显示内存统计信息。
  • -n:显示磁盘I/O统计信息。
  • -a:显示所有统计信息。

示例

[root@VM-16-3-centos ~]# vmstat 1 5
 procs r b w| cpu| memory| swap| io| system| 
 r b w|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0
 r b w|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0
 r b w|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0
 r b w|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0
 r b w|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0|  0  0  0

5. iostat命令

iostat命令报告关于系统的输入/输出活动以及CPU使用情况。

基本用法

iostat [选项] [间隔时间] [次数]

常用选项

  • -c:显示CPU使用情况。
  • -d:显示磁盘I/O统计信息。
  • -m:显示内存使用情况。
  • -n:显示网络接口统计信息。

示例

[root@VM-16-3-centos ~]# iostat 1 5
Linux 4.18.0-348.3.1.el8.x86_64 (VM-16-3-centos) 22:50:06 up  3:01,  1 user,  load average: 0.00, 0.01, 0.05
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00    0.00    0.00         0          0
sda1              0.00    0.00    0.00         0          0
sda2              0.00    0.00    0.00         0          0

通过以上五个实用命令,你可以轻松地管理系统内存,及时发现并解决内存使用问题,从而提高CentOS系统的性能和稳定性。