Seafile server stuck at 100% CPU use

Hi all,

Seafile version is 7.0.5.
The installation is relatively new (couple of months old).

I just randomly checked my Linux server, and found seafile was using 100% CPU time (all CPU cores, checked in “top”) with a process called kswapd0.
It had been running like this for ~4 days.

The server has plenty of RAM, and it was not low on available RAM.
There is nothing odd in the seafile/seahib logs.

Stopping seafile did not stop the seafile process using the CPU time, so i had to kill it.

Any ideas?


kswapd0 is the kernel process that manages swap, it isn’t related to seafile. Even when you have free memory it will occasionally copy old stuff from RAM into swap. It will leave it in RAM so it is quickly accessed when needed, but this way if you later run out of RAM, and some of what it copied into swap hasn’t changed, then it can be dropped from ram immediately instead of needing to wait for a write to disk. So some activity from that is expected from time to time.

Also, Linux will sometimes swap stuff out to make room for more drive cache when doing lots of disk IO. So it might have been pulling something back in from swap. You can turn down the swappiness, here is an article on how to change change that:

Now with how much CPU usage you were seeing it sounds like something might have been wrong. Check /var/log/syslog (or /var/log/messages on some distributions) for i/o errors on the swap device. I once had an SSD that would appear to the computer to be disconnected under some loads, and occasionally it would cause kswapd0 to spin up to 100% CPU like that, but often did worse. But your situation might be different.