Hi! Just a quick report regarding recovering from memory pressure. This is with gnumach-image-1.3.99-486-dbg 2:1.3.99.dfsg.git20120219-1.
During GCC testing, my system collapsed. Unfortunately, there was no farewell note found. Re-running the offending (I suppose) test manually, »[...]master.build/gcc/xgcc -B[...]/master.build/gcc/ -fno-diagnostics-show-caret -O2 -w -c -o limits-structnest.o [...]/master/gcc/testsuite/gcc.c-torture/compile/limits-structnest.c«, I see that it within its few seconds of run time it nearly completely sucks up of what vmstat reports as free memory. (Running it manually now, there is no system crash, unfortunately (?).) OK, then lets start two of these in parallel; here is what happens after a few seconds: $ vmstat pagesize: 4096 size: 1005M free: 196K active: 331M inactive: 664M wired: 10.2M zero filled: 6474M reactivated: 960M pageins: 51.4M pageouts: 623M page faults: 2086694 cow faults: 37881 memobj hit ratio: 90% swap size: 954M swap free: 345M Free memory dashed to the ground, and heavy swap usage. After perhaps half a minute the two processes finish, and the system completely recovers, it seems: $ vmstat pagesize: 4096 size: 1005M free: 983M active: 7380K inactive: 5572K wired: 9.87M zero filled: 6505M reactivated: 960M pageins: 56.5M pageouts: 624M page faults: 2099404 cow faults: 38418 memobj hit ratio: 90% swap size: 954M swap free: 923M RUnning four in parallel, the system started heavy thrashing, I got some error of sigpost (?) in the shell where I ran vmstat, which then froze, I instructed another shell to kill the four GCC processes, three of which got killed, then the screen session exploded. Logging in anew, the system has recovered again: $ vmstat pagesize: 4096 size: 1005M free: 953M active: 23.5M inactive: 16.7M wired: 11.8M zero filled: 7884M reactivated: 1922M pageins: 95.4M pageouts: 856M page faults: 2663565 cow faults: 57758 memobj hit ratio: 93% swap size: 954M swap free: 924M Quite nice! (Unfortunately that doesn't tell me why it hung during GCC testing, though.) While there have been changes "recently" to GCC's internal memory management, I do not think these contribute to the test failure/system crash, because the same pattern of using up nearly 1 GiB and then finishing successfully is also seen when running the test with the system's GCC 4.4/4.5/4.6 compilers. And the test itself is as old as 2007. Bad luck, probably. Grüße, Thomas
pgp3aS8DvBP4v.pgp
Description: PGP signature