与高速缓存交换机器

问题描述 投票:2回答:1

为什么即使缓存了足够的内存,我的服务器也要交换?

该机器正在运行CentOS 7,并配备:-RAM的[[755 GB-32 GB交换

交换率设置为1

这是meminfo:

MemTotal: 792087296 kB MemFree: 4465804 kB MemAvailable: 224683056 kB Buffers: 24 kB Cached: 216998152 kB SwapCached: 17792052 kB Active: 672773100 kB Inactive: 104668396 kB Active(anon): 519239536 kB Inactive(anon): 41416180 kB Active(file): 153533564 kB Inactive(file): 63252216 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 33554428 kB SwapFree: 398388 kB Dirty: 364 kB Writeback: 0 kB AnonPages: 542653804 kB Mapped: 50276 kB Shmem: 212980 kB Slab: 3968696 kB SReclaimable: 3769332 kB SUnreclaim: 199364 kB KernelStack: 18512 kB PageTables: 1146652 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 429598076 kB Committed_AS: 580019976 kB VmallocTotal: 34359738367 kB VmallocUsed: 1885084 kB VmallocChunk: 33948891128 kB HardwareCorrupted: 0 kB AnonHugePages: 264464384 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 313660 kB DirectMap2M: 63309824 kB DirectMap1G: 741343232 kB

任何线索?

编辑,更多背景信息:

该机器主要是一个mysql服务器,它承载大约8TB的数据,在简单的主从复制设置中,它是一个从服务器(仅用于读取目的)。内存主要由mysqld缓存或使用,没有其他重要的东西可以使用大量的资源。

memory-management centos7
1个回答
0
投票
我不确定“为什么”,但是您可以尝试两件事:

1-将可交换性设置为零。

2-完全禁用交换。

here有很好的参考,但重点是:

    使用
  1. cat / proc / swaps识别已配置的交换设备和文件。
  2. 使用
  3. swapoff -a]关闭所有交换设备和文件。
  4. 删除在
  5. / etc / fstab
  6. 中找到的所有匹配引用。
    另一个注意事项,即使禁用了交换,有时也可以看到页面已被释放和分页。可执行文件通常是内存映射的。内核知道它可以根据需要从磁盘还原这些代码页,因此可以不受惩罚地释放它们,以便释放RAM用于缓存或其他目的。
© www.soinside.com 2019 - 2024. All rights reserved.