Mam proces, który zgłasza „u góry”, że ma 6 GB pamięci rezydentnej i 70 GB przydzielonej pamięci wirtualnej. Dziwne jest to, że ten konkretny serwer ma tylko 8 GB pamięci fizycznej i 35 GB dostępnej przestrzeni wymiany.
Z „górnego” podręcznika:
o: VIRT -- Virtual Image (kb)
The total amount of virtual memory used by the task. It includes
all code, data and shared libraries plus pages that have been
swapped out. (Note: you can define the STATSIZE=1 environment vari-
able and the VIRT will be calculated from the /proc/#/state VmSize
field.)
VIRT = SWAP + RES.
Biorąc pod uwagę to wyjaśnienie, spodziewałbym się, że alokacja pamięci virutal dla procesu będzie ograniczona do mojej swap + dostępnej pamięci fizycznej.
Według „pmap” sekcje kodu, biblioteki współużytkowanej i pamięci współużytkowanej tego procesu są minimalne - nie więcej niż 300 mln.
Oczywiście maszyna i proces nadal działają poprawnie (choć powoli), więc czego tu brakuje?