一.free命令
free
命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略。
Mem 行(第二行)是内存的使用情况。
Swap 行(第三行)是交换空间的使用情况。
total 列显示系统总的可用物理内存和交换空间大小。
used 列显示已经被使用的物理内存和交换空间。
free 列显示还有多少物理内存和交换空间可用使用。
shared 列显示被共享使用的物理内存大小。
buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。
available 列显示还可以被应用程序使用的物理内存大小。
二.cat /proc/meminfo
/proc/meminfo是了解Linux系统内存状态的主要接口,里面统计了当前系统各类内存的使用状况,需要注意的是:这是从内核的角度来统计。
User:/ # cat /proc/meminfo
cat /proc/meminfo
MemTotal: 7570916 kB
MemFree: 221820 kB
MemAvailable: 4699384 kB
Buffers: 14280 kB
Cached: 4655300 kB
SwapCached: 48232 kB
Active: 2825544 kB
Inactive: 2688788 kB
Active(anon): 802732 kB
Inactive(anon): 196828 kB
Active(file): 2022812 kB
Inactive(file): 2491960 kB
Unevictable: 142216 kB
Mlocked: 142216 kB
SwapTotal: 5242876 kB
SwapFree: 4317088 kB
Dirty: 512 kB
Writeback: 0 kB
AnonPages: 968372 kB
Mapped: 1245556 kB
Shmem: 14464 kB
KReclaimable: 314272 kB
Slab: 422852 kB
SReclaimable: 118064 kB
SUnreclaim: 304788 kB
KernelStack: 70992 kB
PageTables: 105056 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 12174056 kB
Committed_AS: 140385476 kB
VmallocTotal: 263061440 kB
VmallocUsed: 163212 kB
VmallocChunk: 0 kB
Percpu: 10592 kB
CmaTotal: 262144 kB
CmaFree: 76 kB
IonTotalCache: 174480 kB
IonTotalUsed: 275708 kB
GPUTotalUsed: 137996 kB
MemTotal:表示内存管理系统管理的总物理内存大小。
MemFree:表示系统尚未使用的内存大小。
MemAvailable:表示系统可用内存大小,该参数跟MemFree是有区别的。
如何判断内存泄露:如果发生内存泄露MemAvailable会一直减少。
三.top命令
在Linux操作系统中,top是使用最频繁,也是信息比较全的一个命令,它对于所有正在运行的进行和系统负荷提供不断更新的概览信息,包括系统负载、CPU利用分布情况、内存使用、每个进程的资源占用情况等信息。
四.ps 命令
ps(Process Status)命令主要用来显示Linux进程信息,进程信息主要包括进程用户、pid、内存、cpu、启动时间、路径、终端等。ps命令列出的是当前进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令-性能分析常用命令。
USER:该进程是由哪个用户产生的;
PID:进程的ID号;
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位KB;
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端(现在不止256个)。?表示内核启动的
STAT:进程状态。常见的状态有R运行,S睡眠,T停止状态,s包含子进程,+位于后台
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名