linux redhat + swapoff 卡住不返回提示

linux redhat + swapoff 卡住不返回提示

我执行以下步骤来增加交换大小

但是当我从 swapoff /dev/mapper/rootvg-swap 启动时,它会卡住很长时间并且不会返回提示

为什么我们可以解决这个问题

 swapoff /dev/mapper/rootvg-swap
 lvresize -L +5g  /dev/mapper/rootvg-swap
 mkswap /dev/mapper/rootvg-swap
 swapon /dev/mapper/rootvg-swap


 vmstat 1
 procs -----------memory---------- ---swap-- -----io---- --system-- ----- cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0 2027848 127788  28804 18490972  105   38   180   211   25   59 17  6 64 13  0
 1  0 2027848 126944  28812 18490972    0    0     0   124 1073 1491 16  1  82  1  0
 0  0 2027848 126076  28828 18490956    0    0     0   104  727 1236  6  0    94  0  0
 0  0 2027848 126076  28828 18491008    0    0     0     0  452  979  2  0 98  0  0
 1  0 2027696 130960  28828 18486500  480    0   480    92  985 1415 21  4 69  5  0
 0  0 2027696 130984  28844 18486572    0    0     0    43  421  984  1  0 98  1  0

答案1

swapoff 命令需要将交换文件 (/dev/mapper/rootvg-swap) 中的所有交换内存刷新回主内存(或者可能是其他地方),然后才能禁用交换文件。这可能需要一些时间才能完成,并且您可能没有足够的可用内存。

您可以通过添加更多交换文件来增加可用的交换空间量

  • 创建交换文件/路威酩轩取决于你有什么
  • 使用 mkswap 进行配置
  • 使用 swapon 来启用它

swapon 手册页包含有关多个交换文件的更多信息,这些信息可能有助于特别了解优先级。

解决问题最安全的方法可能是重新启动到单用户模式,并在系统没有内存压力时执行您概述的进程。

最好的解决方案是根据系统工作负载适当调整系统大小并添加更多内存。

答案2

我最近在 Centos 7 VM 上遇到了这个问题。我停了又启动了好swapoff几次,因为我很不耐烦,以为“什么都没有发生”。

最后一次尝试时,我尝试在swapon --show几分钟后在单独的终端上运行,发现使用的交换空间量正在减少,尽管速度很慢 - 即 1.5MB/s,因此大约需要一个小时十五分钟才能完成,因为大约 6.5GB 处于交换中 - 虽然有足够的主内存可用。最终它成功完成了。

相关内容