Ubuntu 服务器上的交换空间使用率较高

ges*_*ema 7 ubuntu memory-usage

这是该命令在Nginx反向代理后面free运行Spring Boot应用程序的服务器上报告的内容:

$ free -h

               total        used        free      shared  buff/cache   available
Mem:           1.9Gi       893Mi       164Mi        29Mi       919Mi       883Mi
Swap:          511Mi       481Mi        30Mi
Run Code Online (Sandbox Code Playgroud)

我应该如何解释高交换使用率?这是否表明我应该将服务器升级到更高的内存容量(例如 4 GiB)?

vmstat的输出

$ vmstat 1 5

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0 493428 150620  95476 879668    0    1     8    28    1    0  3  1 95  0  1
 0  0 493428 150620  95476 879708    0    0     0     4  970 1891  4  1 95  0  0
 1  0 493428 150620  95476 879712    0    0     0     0  851 1708  6  6 86  0  3
 2  0 493428 150620  95476 879712    0    0     0     0  704 1398  4  5 91  0  0
 1  0 493428 150620  95476 879712    0    0     0    16  583 1206  3  3 94  0  0
Run Code Online (Sandbox Code Playgroud)

Rom*_*nov 4

vmstat正如您从没有的输出si或活动中看到的那样so,即使平均值(第一行)也可以忽略不计。尝试一下,swappiness但如果您没有看到严重的性能下降,则无需更改任何内容。

  • 缺乏交换活动表明,高交换使用率可能来自于已加载的程序(或其部分),然后由于不需要它们而被交换到磁盘。例如,Nginx 被用作反向代理,因此与负载平衡相关的部分没有被使用,并且是抢占式交换到磁盘的良好候选者。 (3认同)