交换空间正在使用

交换空间正在使用

我有一个 8GB RAM 的系统并在其上运行 mysql,top 命令显示

内存:总计 8124416k,已使用 8110004k,可用 14412k,缓冲区 21292k 交换:总计 8388600k,已使用 1712132k,可用 6676468k,缓存 2058600k

vmstat 1 给出此输出

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0 1712132  38596  21628 2033920    0    0   451    77    0    1 14  1 81  5  0
 1  0 1712132  38412  21628 2033928    0    0    32     0  695  534  9  1 90  1  0
 0  0 1712132  37992  21656 2034412    0    0   476   136  630  474  8  0 84  8  0
 0  0 1712132  37992  21656 2034424    0    0     0     0  232  138  4  0 96  0  0
 2  0 1712132  37540  21656 2034424    0    0     0     0  463  228 41  1 58  0  0
 1  0 1712132  37480  21656 2034440    0    0    16     0  393  208 26  0 74  0  0
 2  0 1712132  37932  21664 2034432    0    0     0   244  655  454 38  1 59  2  0
 1  0 1712132  38056  21664 2034440    0    0     0     0  403  193 36  0 63  0  0
 0  0 1712132  38056  21664 2034440    0    0    16    16  498  362 13  0 87  0  0
 3  0 1712132  37872  21664 2034488    0    0    48     0  463  350  9  1 89  1  0
 1  0 1712132  37996  21664 2034488    0    0    16     0  765  536 29  0 70  0  0
 3  0 1712132  37996  21672 2034512    0    0    16    92  855  539 46  1 53  0  0
 2  0 1712132  38432  21676 2034508    0    0    20     0 1015  545 63  1 36  0  0
 0  0 1712132  38680  21684 2034544    0    0     0    72  540  307 34  0 66  0  0
 6  0 1712132  38556  21684 2034544    0    0     0     0  926  518 80  1 20  0  

0

免费-m 提供

             total       used       free     shared    buffers     cached
Mem:          7934       7910         23          0         21       1999
-/+ buffers/cache:       5889       2044
Swap:         8191       1672       6519

交换空间的使用是否令人担忧,或者是否正常。

提前感谢 Pankaj

答案1

您的案例中重要的列不是swpdsiso。Linux 交换未使用的内容是正常且健康的。但是,如果siso显示持续活动,则意味着您没有足够的资源来满足您的使用模式。正如其他人指出的那样,这意味着您的应用程序存在漏洞或 RAM 不足。

坦率地说,我并不认为vmstat您发布的信息有什么令人不安的。

答案2

如果我读的数字没有问题(格式不正确的话,读起来会很困难),我会说您的系统运行得不够好。可能是应用程序内存泄漏,或者应用程序要求超出了系统硬件的承受范围。

运行 top 并按内存使用情况排序,查看哪些程序占用了这么多内存。如果可能的话,我会重启占用所有内存的服务,并密切关注它一段时间,看看它恢复到占用这么多内存的速度有多快。

使用大量交换空间并不总是问题,只要它不会破坏磁盘。使用交换空间可能是对资源的有益利用,也可能是有害的,这取决于机器的运行情况。

机器的负载是多少?

答案3

系统在正常状态下的运行方式是这样的吗?我认为这不是一个大问题,但看起来这个系统会从增加 RAM 中受益。负载在哪里?

答案4

Linux 系统倾向于交换未使用的数据,但我不确定为什么 RAM 中有 1GB 几乎未使用的信息。如果您的 si/so 值非零,我会更加担心。

我假设您使用 InnoDB 存储所有表?您是否对性能进行了任何自定义调整?您真的看到了问题,还是只是担心数字?

相关内容