linux redhat + swapoff is stuck not return prompt
Solution 1
The swapoff command needs to flush all of the swapped memory from the swap file (/dev/mapper/rootvg-swap) back to main memory (or perhaps somewhere else) before it can disable the swap file. This can take time to complete and you may not have sufficient free memory.
You can increase the amount of free swap space that you have by adding more swap files
- create a swap file/LV depending on what you have available
- use mkswap to configure it
- use swapon to enable it
The swapon man page contains more information about multiple swap files that may be helpful in particualar look at priorites.
The safest way to solve your problem is likely to reboot to single user mode and carry out the porcess you outline when the system is not under memory pressure.
The best solution is to size your system appropriately for its workload and to add more memory.
Solution 2
I experienced this problem recently on a Centos 7 VM. I stopped and started swapoff
several times because I was impatient and thought "nothing was happening".
On the last effort I tried running swapon --show
on a separate terminal a few minutes apart and saw that the amount of swap being used was reducing, albeit at a snail's pace - i.e. 1.5MB/s, so it took about an hour and a quarter to finish as about 6.5GB were in swap - although there was plenty of main memory available. Eventually it finished successfully.
Related videos on Youtube
King David
Updated on September 18, 2022Comments
-
King David over 1 year
I do the following steps in order to increase the swap size
but when I start with swapoff /dev/mapper/rootvg-swap , then its stuck for along time and not return the prompt
why we can do to solve this
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
-
Ipor Sircer over 7 yearsHow long time? Btw. using 10+GB as swap isn't a good choice.
-
King David over 7 yearsmore then 2-3 min , I stop it with CNTR-C
-
Ipor Sircer over 7 yearsWhat would expect? if you using this laaarge amount of swap it need some time to free it. run
vmstat 1
and watch the decreasing swap. -
Ipor Sircer over 7 yearsvmstat clearly says that you don't have enough free memory for copying the whole swap.
-
King David over 7 yearsso what is the workaround for this , how to solve this ?
-
-
Greg Dubicki over 3 yearsThanks a lot! I just experienced a very similar behavior of a Centos 7 server where 2GB of swap was being freed for ~ 1 hour. I would not expect this if I hadn't read your answer. 😊