在Linux服务器上查看内存使用情况有多种方法,以下是一些常用的命令及其功能:
一、free命令
1、基本用法:free -h
功能:显示内存的使用情况,包括物理内存、交换空间(swap)等。
常用选项:
-h
:以人类可读的格式显示(如 MB、GB)。
-m
:以 MB 为单位显示。
-g
:以 GB 为单位显示。
-b
:以 Byte 为单位显示。
-k
:以 KB 为单位显示(默认)。
-t
:在输出的最终结果中,输出内存和 swap 分区的总量。
-o
:不显示系统缓冲区这一列。
-s 间隔秒数
:根据指定的间隔时间,持续显示内存使用情况。
2、输出解释:
total
:总内存。
used
:已使用内存。
free
:空闲内存。
shared
:共享内存。
buffers
:用于缓冲区的内存。
cached
:缓存的内存。
Swap
:交换空间。
3、示例:
free -h
输出示例:
total used free shared buff/cache available Mem: 7.8G 2.0G 4.5G 128M 1.3G 5.3G Swap: 2.0G 0B 2.0G
二、top命令
1、基本用法:top
功能:实时显示系统的资源使用情况,包括 CPU 和内存。
输出解释:
顶部区域显示总内存、已使用内存、空闲内存、缓冲区缓存等。
动态显示的进程列表中,通常会有内存使用率较高的进程。
按Shift + M
可以按内存使用量排序进程。
2、示例:
top
输出示例:
top 15:20:10 up 1 day, 2:34, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 123 total, 2 running, 121 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.5 us, 0.5 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 8064764 total, 2047844 used, 5675484 free, 324564 buffers KiB Swap: 2097148 total, 0 used, 2097148 free. 123456 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ...
三、htop命令
1、基本用法:htop
功能:类似top
,但提供更友好的界面和交互式操作。
特点:显示内存、CPU 和进程信息,支持图形化显示,可交互操作,可以按内存、CPU 使用排序,过滤进程等。
安装:如果系统没有安装htop
,可以通过以下命令安装:
sudo apt install htop # Debian/Ubuntu sudo yum install htop # CentOS/RHEL
2、示例:
htop
启动后会进入一个交互式的界面,可以使用方向键和功能键进行操作。
四、vmstat命令
1、基本用法:vmstat 1
功能:报告虚拟内存统计信息。
输出解释:
swpd
:使用的虚拟内存(swap)。
free
:空闲内存。
buff
:用于缓冲的内存。
cache
:用于文件缓存的内存。
si/so
:从交换区读/写的内存量。
2、示例:
vmstat 1
每秒更新一次信息,输出示例:
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 1234567 12345 234567 234 0 0 0 0 0 0 0 0 0 0 0
五、cat /proc/meminfo命令
1、基本用法:cat /proc/meminfo
功能:查看详细的内存信息,显示更为详细的内存使用统计数据。
输出解释:
MemTotal
:总物理内存。
MemFree
:空闲物理内存。
Buffers
:用于缓存的内存。
Cached
:文件系统缓存的内存。
SwapTotal
:交换空间总量。
SwapFree
:空闲交换空间。
2、示例:
cat /proc/meminfo
输出示例:
MemTotal: 8064764 kB MemFree: 5675484 kB MemAvailable: 5836800 kB Buffers: 324564 kB Cached: 1234567 kB SwapTotal: 2097148 kB SwapFree: 2097148 kB ...
六、ps命令
1、基本用法:ps aux --sort=-%mem
功能:查看当前系统的进程信息,并显示每个进程的内存使用情况。
输出解释:
%MEM
:进程使用的内存百分比。
RSS
:进程使用的物理内存(以 KB 为单位)。
2、示例:
ps aux --sort=-%mem
输出示例:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 22524 1234 ? Ss 15:20 0:01 /sbin/init user 1234 1.0 1.5 12345678 15789123 pts/0 Sl+ 15:21 0:05 /usr/bin/some_process ...
七、dmesg命令
1、基本用法:dmesg | grep -i memory
功能:显示内核缓冲区的信息,通常用于查看启动时的内存相关信息或错误。
输出解释:包含与“memory”相关的日志信息。
2、示例:
dmesg | grep -i memory
输出示例:
[ 0.000000] Memory: 8064764k/8064764k available (OC) ...
八、sar命令
1、基本用法:sar -r 1 3
功能:提供历史系统性能数据,包括内存、CPU 使用情况。
输出解释:显示内存的统计信息,每秒收集一次数据,共显示三次。
2、示例:
sar -r 1 3
输出示例:
05:20:10 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 05:20:10 PM 5675484 2389280 33.33 324564 1234567 1234567 61.67 ...
九、smem命令
1、基本用法:smem -r
功能:显示内存使用情况,提供更详细的进程内存统计(包括共享内存)。
输出解释:显示详细的报告,包括按进程列出的内存使用情况。
2、示例:
smem -r
输出示例:
Area Used Free Use% Shared Shared% Changed Change% Policy NumPermPages Physical 2047844 5675484 33.33 324564 15.85 234567 39.75 Default 0 Swapped 0 2097148 0.00 0 0.00 0 0.00 Default 0 HugetTotal 2047844 7772632 26.33 324564 15.85 234567 39.75 Default 0 AnonHugeTotal 0 0 0.00 0 0.00 0 0.00 Default 0 ShmemHugeTotal 0 0 0.00 0 0.00 0 0.00 Default 0 FileHugeTotal 0 0 0.00 0 0.00 0 0.00 Default 0 ...
这些命令都能帮助你实时或定期检查系统内存的使用情况,结合不同的命令,可以获得更精确和全面的内存资源监控。
到此,以上就是小编对于“服务器内存怎么查”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。