查看内存(free/top)

内存主要用来存储系统和应用程序的指令、数据、缓存等

 

如何查看内存使用情况

1.free

free 输出的是一个表格,其中的数值都默认以字节为单位。表格总共有两行
六列,这两行分别是物理内存 Mem 和交换分区 Swap 的使用情况,而六列中,每列数据的含义分别为

free
      total   used   free   shared buff/cache available
Mem: 8169348 263524 6875352 668     1030472    7611064
Swap: 0      0        0

第一列,total 是总内存大小;
第二列,used 是已使用内存的大小,包含了共享内存;
第三列,free 是未使用内存的大小;
第四列,shared 是共享内存的大小;
第五列,buff/cache 是缓存和缓冲区的大小;
最后一列,available 是新进程可用内存的大小。

最后一列的可用内存 available 。available 不仅包含未使用内存,还包括了可回收的缓存,所以一般会比未使用内存更大。不过,并不是所有缓存都可以回收,因为有些缓存可能正在使用中。


free 显示的是整个系统的内存使用情况。

如果你想查看进程的内存使用情况,可以用 top 或者 ps 等工具。

2. top :

# 按下 M 切换到内存排序
$ top
...
KiB Mem :  8169348 total,  6871440 free,   267096 used,  1030812 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  7607492 avail Mem


  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  430 root      19  -1  122360  35588  23748 S   0.0  0.4   0:32.17 systemd-journal
 1075 root      20   0  771860  22744  11368 S   0.0  0.3   0:38.89 snapd
 1048 root      20   0  170904  17292   9488 S   0.0  0.2   0:00.24 networkd-dispat
    1 root      20   0   78020   9156   6644 S   0.0  0.1   0:22.92 systemd
12376 azure     20   0   76632   7456   6420 S   0.0  0.1   0:00.01 systemd
12374 root      20   0  107984   7312   6304 S   0.0  0.1   0:00.00 sshd
...


VIRT 是进程虚拟内存的大小,只要是进程申请过的内存,即便还没有真正分配物理内
存,也会计算在内。
RES 是常驻内存的大小,也就是进程实际使用的物理内存大小,但不包括 Swap 和共享
内存。
SHR 是共享内存的大小,比如与其他进程共同使用的共享内存、加载的动态链接库以及
程序的代码段等。
%MEM 是进程使用物理内存占系统总内存的百分

注意:

第一,虚拟内存通常并不会全部分配物理内存。从上面的输出,你可以发现每个进程的虚
拟内存都比常驻内存大得多。
第二,共享内存 SHR 并不一定是共享的,比方说,程序的代码段、非共享的动态链接库,
也都算在 SHR 里。当然,SHR 也包括了进程间真正共享的内存。所以在计算多个进程的
内存使用时,不要把所有进程的 SHR 直接相加得出结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值