Linux

linux redhat + swapoff 卡住不返回提示

  • January 23, 2020

我執行以下步驟以增加交換大小

但是當我從 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

swapoff 命令需要在禁用交換文件之前將交換文件 (/dev/mapper/rootvg-swap) 中的所有交換記憶體刷新回主記憶體(或其他地方)。這可能需要一些時間才能完成,並且您可能沒有足夠的可用記憶體。

您可以通過添加更多交換文件來增加可用交換空間的數量

  • 根據您可用的內容創建交換文件/ LV
  • 使用 mkswap 進行配置
  • 使用 swapon 啟用它

swapon 手冊頁包含有關多個交換文件的更多資訊,這些資訊可能有助於特別查看優先級。

解決問題的最安全方法可能是重新啟動到單使用者模式並在系統沒有記憶體壓力時執行您概述的程序。

最好的解決方案是根據工作負載適當調整系統大小並添加更多記憶體。

引用自:https://serverfault.com/questions/816520