Linux查看内存占用是经常需要的操作,但是很多新手不知道应该如何查看,通过查看linux内存的使用情况,能够便于我们优化系统的性能和资源分配。有多种命令和方法可以帮助我们实现这个目的,今天就为大家分享三种linux查看内存占用的命令及方法,希望能够帮助到有需要的网友。
3个linux查看内存占用的命令
方法一. free命令
free命令是最简单和常用的查看内存占用的命令,它可以显示系统的总内存、已用内存、空闲内存、缓冲区和缓存等信息。free命令的基本格式如下:
free [选项]
其中,常用的选项有:
- -m:以MB为单位显示内存信息
- -g:以GB为单位显示内存信息
- -h:以人类可读的方式显示内存信息
- -s n:每隔n秒重复显示内存信息
- -t:显示内存的总计行
例如,输入以下命令:
free -h
可以得到类似如下的输出:
total used free shared buff/cache available
Mem: 7.7G 1.8G 3.9G 125M 2.0G 5.4G
Swap: 2.0G 0B 2.0G
这里,total表示系统的总内存,used表示已经使用的内存,free表示空闲的内存,shared表示共享的内存,buff/cache表示缓冲区和缓存,available表示可用的内存。Swap表示交换分区的情况。
方法二. top命令
top命令是一个动态显示系统进程信息的命令,它可以实时更新并排序各个进程的状态,同时也可以显示系统的负载、CPU使用率、内存使用率等信息。top命令的基本格式如下:
top [选项]
其中,常用的选项有:
- -d n:指定刷新间隔为n秒
- -p pid:只显示指定进程号为pid的进程
- -u user:只显示指定用户为user的进程
- -c:显示完整的命令行
- -h:显示帮助信息
例如,输入以下命令:
top
可以得到类似如下的输出:
top - 10:51:32 up 2:23, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 193 total, 1 running, 192 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7906.6 total, 3988.9 free, 1834.5 used, 2083.2 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 5489.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
这里,第一行显示了系统的运行时间、登录用户数、平均负载等信息;第二行显示了系统中总共有多少个进程,以及各种状态的进程数;第三行显示了CPU的使用情况,包括用户态、系统态、空闲等比例;第四行和第五行显示了内存和交换分区的使用情况;接下来是各个进程的详细信息,包括进程号、用户、优先级、虚拟内存、物理内存、共享内存、状态、CPU占用率、内存占用率、运行时间、命令等。
在top命令运行时,可以按以下按键来执行不同的操作:
- q:退出top命令
- h:显示帮助信息
- P:按CPU占用率降序排序
- M:按内存占用率降序排序
- T:按运行时间降序排序
- k:杀死指定的进程
- r:调整指定进程的优先级
- f:选择要显示的字段
- o:按指定的字段排序
方法三. vmstat命令
vmstat命令是一个显示虚拟内存统计信息的命令,它可以显示系统的内存、交换分区、进程、I/O等信息。vmstat命令的基本格式如下:
vmstat [选项] [延迟] [次数]
其中,常用的选项有:
- -a:显示活跃和非活跃内存
- -s:显示内存使用的摘要信息
- -m:显示内存分配器的信息
- -d:显示磁盘使用的信息
- -p partition:显示指定分区的信息
- -n:只显示一次列名
- -h:以人类可读的方式显示信息
例如,输入以下命令:
vmstat -s
可以得到类似如下的输出:
8093312 K total memory
1834500 K used memory
2083208 K active memory
970276 K inactive memory
3988812 K free memory
125248 K buffer memory
2083164 K swap cache
2097148 K total swap
0 K used swap
2097148 K free swap
11264 non-nice user cpu ticks
138 nice user cpu ticks
2339 system cpu ticks
165224 idle cpu ticks
12 IO-wait cpu ticks
0 IRQ cpu ticks
30 softirq cpu ticks
0 stolen cpu ticks
19305 pages paged in
14076 pages paged out
0 pages swapped in
0 pages swapped out
11590122 interrupts
25538213 CPU context switches
1627227981 boot time
1084 forks
这里,每一行显示了一个指标和它的值,例如总内存、已用内存、空闲内存、缓冲区、缓存、交换分区、CPU时间、I/O操作、中断、上下文切换等。