我的内存实际使用了多少?

我的内存实际使用了多少?

我有一个具有 8 GB 内存的 VPS,主要运行 docker 容器。

当我使用提供商提供的云监控服务时,我发现大约有 10% 的 RAM 已被使用。

我不明白这个值与以下三个命令的输出有何关系(我已将这些命令的输出放在我的问题的末尾):

$ free -mh
$ top
$ docker stats

有人能解释一下为什么free -mh它告诉我我正在使用 7.5/7.8GB 的​​内存,而我的 VPS 却告诉我我只使用了 10%,并且命令给出的值对top我来说没有意义吗?


自由的

free -mh
             total       used       free     shared    buffers     cached
Mem:          7.8G       7.5G       275M       144M       348M       2.3G
-/+ buffers/cache:       4.9G       3.0G
Swap:         1.9G       454M       1.5G

docker 统计

docker stats --no-stream
CONTAINER           CPU %               MEM USAGE / LIMIT       MEM %               NET I/O               BLOCK I/O             PIDS
496ec398b3f9        0.09%               2.285 MiB / 7.812 GiB   0.03%               648 B / 648 B         40.96 kB / 0 B        0
e8d13a2df058        0.07%               674.2 MiB / 7.812 GiB   8.43%               196.4 kB / 252.3 kB   10.43 MB / 364.5 kB   0
87f43f54f772        0.01%               276.8 MiB / 7.812 GiB   3.46%               7.396 MB / 7.802 MB   71.07 MB / 0 B        0
6a9039c835ad        3.49%               885.1 MiB / 7.812 GiB   11.06%              150.6 kB / 20.93 MB   124.9 MB / 138.7 MB   0
5f56a4113665        0.91%               1014 MiB / 7.812 GiB    12.67%              2.681 GB / 368.8 MB   197.2 MB / 17.56 MB   0
8dabe37320f9        0.10%               3.762 MiB / 7.812 GiB   0.05%               270.1 MB / 213.4 MB   249.9 kB / 3.883 MB   0
57f6c6b96e72        0.34%               39.24 MiB / 7.812 GiB   0.49%               58.84 MB / 67.32 MB   6.246 MB / 4.649 MB   0
738e3d84e9d4        0.00%               3.562 MiB / 7.812 GiB   0.04%               1.048 GB / 1.045 GB   1.155 MB / 0 B        0
17704ca17a93        0.00%               49.04 MiB / 7.812 GiB   0.61%               271.8 MB / 1.484 GB   83.34 MB / 0 B        0
3beefb4fd14a        0.04%               31.12 MiB / 7.812 GiB   0.39%               342.5 kB / 875.2 kB   5.235 MB / 69.63 kB   0
4035cf7f0af5        0.04%               68.16 MiB / 7.812 GiB   0.85%               215.2 MB / 672.8 MB   148.9 MB / 16.09 GB   0
4fba55aa76a4        0.05%               42.61 MiB / 7.812 GiB   0.53%               147.5 kB / 19.09 kB   167 MB / 24.58 kB     0
83571a1747cb        0.00%               8.207 MiB / 7.812 GiB   0.10%               25.23 MB / 20.19 MB   13.8 MB / 8.192 kB    0

顶部

top # Sorted by memory usage

top - 10:14:19 up 20 days, 17:27,  1 user,  load average: 0.36, 0.43, 0.47
Tasks: 284 total,   1 running, 283 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.4 sy,  0.0 ni, 98.5 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8191140 total,  7896220 used,   294920 free,   356984 buffers
KiB Swap:  1998844 total,   465312 used,  1533532 free.  2449876 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                   
 8034 systemd+  20   0  711.4m 469.8m   2.7m S   0.0  5.9   0:00.00 clamd                                                                                                     
43964 998       20   0  712.7m 369.3m   8.1m S   1.7  4.6 144:06.61 bundle                                                                                                    
44897 998       20   0  688.2m 226.1m   7.1m S   0.0  2.8   0:03.19 bundle                                                                                                    
44895 998       20   0  507.8m 194.5m   6.9m S   0.0  2.4   0:02.27 bundle                                                                                                    
46409 www-data  20   0 3728.6m 167.0m   4.7m S   0.0  2.1  10:42.66 node                                                                                                      
43885 998       20   0  505.8m 158.7m   6.8m S   0.0  2.0   0:46.59 bundle                                                                                                    
 8058 Debian-+  20   0  230.3m 114.9m   6.4m S   0.0  1.4   0:00.72 /usr/sbin/amavi                                                                                           
 8057 Debian-+  20   0  228.7m 113.3m   6.4m S   0.0  1.4   0:00.22 /usr/sbin/amavi                                                                                           
 8052 Debian-+  20   0  227.0m 112.1m   5.5m S   0.0  1.4   0:01.21 /usr/sbin/amavi                                                                                           
46410 www-data  20   0  998.3m 105.9m   4.5m S   0.0  1.3   9:20.22 node                                                                                                      
46418 www-data  20   0  983.0m  95.9m   6.1m S   0.0  1.2   0:51.50 node                                                                                                      
46415 www-data  20   0  993.0m  80.7m   4.2m S   0.0  1.0   0:19.56 node                                                                                                      
46400 www-data  20   0  974.3m  78.4m   4.3m S   0.3  1.0  60:12.96 node                                                                                                      
46402 www-data  20   0  991.1m  76.0m   4.7m S   0.0  1.0   0:20.13 node                                                                                                      
46414 www-data  20   0  990.3m  75.7m   4.0m S   0.0  0.9   0:58.40 node                                                                                                      
46411 www-data  20   0  971.2m  74.5m   3.9m S   0.0  0.9   7:59.44 node                                                                                                      
46398 www-data  20   0  985.9m  71.8m   4.0m S   0.0  0.9   0:18.67 node                                                                                                      
46408 www-data  20   0  957.8m  64.1m   3.6m S   0.0  0.8   8:40.84 node                                                                                                      
  311 mikael    20   0  636.8m  63.0m  57.4m S   0.0  0.8   0:00.18 php-fpm7.1                                                                                                
46413 www-data  20   0 1754.8m  52.8m   3.3m S   0.0  0.7   0:01.27 node                                                                                                      
  550 root      20   0 1872.5m  52.0m  19.7m S   0.0  0.7  96:58.89 dockerd                                                                                                   
 1415 999       20   0  966.3m  48.6m   4.9m S   0.0  0.6  19:56.53 mysqld                                                                                                    
  322 mikael    20   0  646.2m  47.1m  31.0m S   0.0  0.6   0:04.53 php-fpm7.1                                                                                                
  321 mikael    20   0  646.2m  46.7m  30.8m S   0.0  0.6   0:05.11 php-fpm7.1                                                                                                
  360 mikael    20   0  643.8m  44.4m  31.0m S   0.0  0.6   0:03.86 php-fpm7.1                                                                                                
13400 999       20   0  937.7m  34.0m   3.9m S   0.0  0.4  12:39.05 mysqld                                                                                                    
30467 999       20   0  344.9m  25.6m   4.6m S   0.0  0.3  38:51.77 mongod                                                                                                    
44940 996       20   0   59.1m  21.7m   7.7m S   0.0  0.3   0:00.14 postgres          

一些命令输出

$ uname -a
Linux domain.com 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1 (2016-12-30) x86_64 GNU/Linux

$ docker version
Client:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:17:57 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:17:57 2017
 OS/Arch:      linux/amd64

$ virt-what
vmware

答案1

你的记忆是这样分布的:

  • 5.2Gb 被进程主动使用 + 0.5Gb 被换出至磁盘。
  • 2.3Gb 的页面缓存(文件缓存)可以被活动进程在需要的时候随时释放和使用(当然要以文件操作性能为代价)。

因此,您的内存使用率肯定不会达到 10%。您的 VPS 确实存在一些内存压力,增加内存大小可能会有所帮助。

答案2

您的 VPS 上消耗了大量的缓存内存,我建议您清除缓存内存,这样您就可以获得更多的可用内存。

每个 Linux 系统都有三个选项可以清除缓存,而不会中断任何进程或服务。运行以下命令清除不需要的内存

1)清除页面缓存 - # sync; echo 1 > /proc/sys/vm/drop_caches

2)清除 dentry 和 inode - # sync; echo 2 > /proc/sys/vm/drop_caches

3) 清除页面、dentry 和 inode - # sync; echo 3 > /proc/sys/vm/drop_caches

相关内容