1、通过top命令查看linux可用内存
[root@iZbp121075lo3b6ujbxbcvZ ~]# top
top - 21:49:47 up 10 days, 10:00, 1 user, load average: 0.09, 0.04, 0.05
Tasks: 106 total, 1 running, 105 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 3.2 sy, 0.0 ni, 96.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3880400 total, 1962836 free, 633416 used, 1284148 buff/cache
KiB Swap: 1049596 total, 1049596 free, 0 used. 2980788 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 43536 3804 2584 S 0.0 0.1 0:08.88 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:07.21 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:03.44 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 5:44.84 rcu_sched
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
11 root rt 0 0 0 0 S 0.0 0.0 0:03.98 watchdog/0
12 root rt 0 0 0 0 S 0.0 0.0 0:03.68 watchdog/1
13 root rt 0 0 0 0 S 0.0 0.0 0:03.49 migration/1
14 root 20 0 0 0 0 S 0.0 0.0 0:07.10 ksoftirqd/1
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
19 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
20 root 20 0 0 0 0 S 0.0 0.0 0:00.32 khungtaskd
21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
22 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
23 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
24 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
25 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
26 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
27 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 md
28 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 edac-poller
29 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 watchdogd
36 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0
37 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
top命令出来的结果比较参数比较多,显示的比较复杂,如上图,不能快速的查看还有多少可用内存。我们可以按下小写的m,这时候可以直观的显示还有多少可用内存以及总内存和可用内存之间的比例。
[root@iZbp121075lo3b6ujbxbcvZ ~]# top
top - 21:51:21 up 10 days, 10:01, 1 user, load average: 0.06, 0.05, 0.05
Tasks: 106 total, 1 running, 105 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.0 us, 0.3 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 23.3/3880400 [||||||||||||| ]
KiB Swap: 0.0/1049596 [ ]
2、使用free -h 命令查看
[root@iZbp121075lo3b6ujbxbcvZ ~]# free -m
total used free shared buff/cache available
Mem: 3789 620 1914 0 1254 2908
Swap: 1024 0 1024
第一列
Mem 内存的使用信息
Swap 交换空间的使用信息
第一行
total 系统总的可用物理内存大小
used 已被使用的物理内存大小
free 还有多少物理内存可用
shared 被共享使用的物理内存大小
buff/cache 被 buffer 和 cache 使用的物理内存大小
available 还可以被 应用程序 使用的物理内存大小
free 与 available 的区别
free 是真正尚未被使用的物理内存数量。
available 是应用程序认为可用内存数量,Linux 为了提升读写性能,会消耗一部分内存资源缓存磁盘数据,对于内核来说,buffer 和 cache 其实都属于已经被使用的内存。但当应用程序申请内存时,如果 free 内存不够,内核就会回收 buffer 和 cache 的内存来满足应用程序的请求。