Ми то не се налага да ползва максималната памет. jvm-то обаче като го запалиш си malloc-ва това, указано като големина на heap-а. Като гледам му е оказано нещо около 1200-1300 мегабайта.
Машината има 4 гигабайта памет. Нека 2gb ти ги взема mysql-a, 400-500 ти ги ползва apache-a (предполагам форкнатите процеси си споделят голяма част от паметта, COW). Останалите процеси и ядрото примерно ядат още около 500 мегабайта (гледам има питонски процеси някакви). Общо това прави към 3 гб. Когато се вдигне твоят java процес с heap size=1.2gb, каквото там е имало pagecache/vfs cache се evict-ва, но въпреки всичко паметта не достига и затва по-"неизползваните" страници в паметта влизат в суоп-а.
load-а се вдига поради няколко причини в тази ситуация - първо имаш повече page faults и вадене на страници от суоп-а в паметта и обратно, което са си бавни дискови операции. От друга страна, "изхвърлената кеширана информация" води дотам че следващите дискови операции ще са свързани с повече disk I/O, съответно процесите ще бъдат за малко повече време в uninterruptable sleep и ерго в runqueue.
Затова ако можеш намали това разхищение. "кажи" на mysql-a да ползва по-малко памет, виж ако можеш да разкараш ненужни apache модули, намали heap size-a на джавата, ако има вариант оптимизирай по някакъв начин PHP кода. Или (например) сложи някоя допълнителна банка памет.
Въобще не е казано, че ако нещо може да ползва повече оперативна памет, то ще върви по-бързо. В общият случай е така, но в гранични случаи, когато РАМ-та попривърши и почнеш да влизаш леко в суоп-а, нещата са различни
'>