Hello,
I have a small system:
- 6GB drive
- ext4 partition mounted readonly
- swap partition that is not listed in fstab and not enabled. (I will
swapon it every few weeks or so if I need it for a large compile job)
- 2 GB RAM
When the system boots it processing video from a USB camera. The
program dynamically allocates and releases memory while it runs, but
stores no data in memory or on disk (read-only). The memory usage
does not grow over time.
When things are going well, top looks like so:
===
Tasks: 68 total, 1 running, 67 sleeping, 0 stopped, 0 zombie
%Cpu0 : 88.3 us, 11.7 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 25.5 us, 2.3 sy, 0.0 ni, 72.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 6.0 us, 0.7 sy, 0.0 ni, 93.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 25.7 us, 2.3 sy, 0.0 ni, 72.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 1861644 total, 161648 used, 1699996 free, 6948 buffers
KiB Swap: 0 total, 0 used, 0 free, 57728 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2129 root 20 0 1774440 81712 25388 S 160.0 4.4 25:55.46 obt
705 root 20 0 0 0 0 S 1.0 0.0 0:07.87 kswapd0
2049 ueyed 20 0 620472 14092 13652 S 1.0 0.8 0:09.34 ueyeusbd
====
Q1: Why does the kswapd0 process from time to time take up 100% CPU?
Q2: Why does top show "cached swap" eventhough I do not have swap mounted?
Q3: Is there anything I can do to prevent kswapd0 from using CPU on my
system? e.g. disable SWAP in the kernel config
I suspect the answer to Q1 is:
a) kernel is not configured properly for my hardware
or
b) there is some bad side effect to my readonly root fs
Thank you,
Chris