Hi,
With 2.5.66, I'm seeing what can only be described as a severe memory
leak. This isn't something that I noticed on 2.5.65 - in fact, I have
several ARM machines happily running 2.5.65.
The leak seems to be centred around the task_struct slab, which seems
to do nothing but continually grow:
bash-2.04# grep task_struct /proc/slabinfo
task_struct 1868 1868 920 467 467 1 : 32 16 : 1868 1916 467 0 0 0 36 : 1509 496 139 0
...
bash-2.04# ps aux | wc -l
20
bash-2.04# grep task_struct /proc/slabinfo
task_struct 1892 1892 920 473 473 1 : 32 16 : 1892 1956 473 0 0 0 36 : 1519 511 139 0
bash-2.04# grep task_struct /proc/slabinfo
task_struct 1892 1892 920 473 473 1 : 32 16 : 1892 1957 473 0 0 0 36 : 1519 512 139 0
bash-2.04# grep task_struct /proc/slabinfo
task_struct 1896 1896 920 474 474 1 : 32 16 : 1896 1961 474 0 0 0 36 : 1519 513 139 0
bash-2.04# grep task_struct /proc/slabinfo
task_struct 1896 1896 920 474 474 1 : 32 16 : 1896 1961 474 0 0 0 36 : 1520 513 139 0
bash-2.04# grep task_struct /proc/slabinfo
task_struct 1896 1896 920 474 474 1 : 32 16 : 1896 1961 474 0 0 0 36 : 1521 513 139 0
bash-2.04# grep task_struct /proc/slabinfo
task_struct 1896 1896 920 474 474 1 : 32 16 : 1896 1961 474 0 0 0 36 : 1522 513 139 0
bash-2.04# grep task_struct /proc/slabinfo
task_struct 1900 1900 920 475 475 1 : 32 16 : 1900 1965 475 0 0 0 36 : 1522 514 139 0
mm_struct seems to be fairly constant, so these are at least getting freed:
mm_struct 24 36 320 3 3 1 : 32 16 : 120 739 11 2 0 0 44 : 3144 53 3183 5
I'm seeing memory disappear at a rate of 8K / process, which seems to
suggest that the ARM level 1 page tables aren't getting freed either.
Is anyone seeing this type of behaviour on x86?
--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
commence Russell King quotation:
> I'm seeing memory disappear at a rate of 8K / process, which seems to
> suggest that the ARM level 1 page tables aren't getting freed either.
>
> Is anyone seeing this type of behaviour on x86?
Running 2.5.66 (plus Ingo Molnar's sched-2.5.66-A2), and I don't seem
to see a growth in the task_struct slab after repeated forking:
$ grep task_struct /proc/slabinfo ; for i in $(seq 1000) ; do /bin/true ; done ; grep task_struct /proc/slabinfo
task_struct 79 80 1552 16 16 2 : 54 27
task_struct 79 80 1552 16 16 2 : 54 27
--
Sean Neakums - <[email protected]>