Neo - high load average after 1 -2 days on?
Martin Guy
martinwguy at yahoo.it
Thu May 1 14:49:58 CEST 2008
On 5/1/08, Torfinn Ingolfsen <tingox at gmail.com> wrote:
> Ok, I'm having that trouble again.
> Unknown HZ value! (94) Assume 100.
I get that when running ARM systems under QEMU but haven't tracked it down.
It may be related to the fact that these systems lost wallclock time
at a rate of many minutes per day.
> Mem: 126260k total, 124816k used, 1444k free, 32k buffers
> Swap: 0k total, 0k used, 0k free, 22508k cached
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 1227 root 19 -1 33760 26m 80 D 17.1 21.1 73:17.70 Xfbdev
> 1284 root 20 0 50120 35m 120 R 14.5 28.5 149:58.25 tangogps
> 1095 haldaemo 20 0 16544 12m 204 D 14.0 10.4 47:31.03 hald
> Hmm, don't know what to think.
The requirement for RAM exceeds the available physical RAM
VIRT is the memory space they think they have; RSS is the physical RAM
they are actually allocated at the moment. The difference is made up
of data memory pages that have been allocated to them but that they
have never used (which read as all-zero without needing to allocate a
physical page of memory until written to), and it deallocates text
memory pages (program code loaded from executable files) that it
thinks have not been used recently, and reloads them from flash when
they are next used.
So it's probably spending all its time reloading program code from
flash, running a couple of steps, hitting another unloaded code page,
changing to a different process while that loads, hitting another
unloaded code page etc etc, a situation known as "thrashing". The
miracle is that is keeps running at all! :)
You can improve the situation by configuring some swap space, which
will allow it to stash data memory pages that are not being used onto
disk (flash card)
To do this without repartitioning the flash card, you can go:
# dd if=/dev/zero of=/swapfile bs=1M count=32
# mkswap /media/card/swapfile
# swapon /media/card/swapfile
and if you want this to be configured automatically at boot time, add
/media/card/swapfile none swap default 0 0
to /etc/fstab
Your neo will breathe a sigh of relief.
Keep checking "vmstat" output occasionally. If you then find that "si
so" columns are constantly non-zero, this means that, even with the
breathing space provided by swapping dead data, it is still thrashing,
and if this situation persists, that region of your flash card will
wear out within a few months. Under normal system load, the swap
region will take 3 or 4 years to wear out; some people like to prevent
this by moving the swap area around periodically by creating a new
swapfile then deleting the old every few months.
M
Sorry for 2 copies, Torfinn, I forgot to cc the list.
More information about the device-owners
mailing list