Курсовая работа: Мониторинг виртуальной памяти в ОС Linux
Зачастую бывает необходимо отследить за работой того или иного процесса с памятью, например, чтобы обнаружить утечки памяти, узнать, в какие моменты и сколько памяти процесс выделяет. Для решения данной задачи существует ряд средств, а именно:
· Файловая система /proc – позволяет прочесть различную информацию о всей системе в целом и о каждом из процессов, в том числе информацию об использовании процессом памяти и об отображениях памяти данного процесса. (пример:
# cat /proc/`pgrep test`/status
Name: test1
…
VmPeak: 1556 kB
VmSize: 1544 kB
VmLck: 0 kB
VmHWM: 308 kB
VmRSS: 308 kB
VmData: 148 kB
VmStk: 88 kB
VmExe: 4 kB
VmLib: 1276 kB
VmPTE: 12 kB
# cat /proc/`pgrep test`/maps
08048000–08049000 r-xp 00000000 08:01 17432879 /home/twee/work/mstu/coding/memmon/test/test1
08049000–0804a000 rw-p 00000000 08:01 17432879 /home/twee/work/mstu/coding/memmon/test/test1
0804a000–0806b000 rw-p 0804a000 00:00 0 [heap]
b7e4b000‑b7e4c000 rw-p b7e4b000 00:00 0
b7e4c000‑b7f75000 r-xp 00000000 03:05 1604119 /lib/tls/libc‑2.3.6.so
b7f75000‑b7f76000 r–p 00128000 03:05 1604119 /lib/tls/libc‑2.3.6.so
b7f76000‑b7f79000 rw-p 00129000 03:05 1604119 /lib/tls/libc‑2.3.6.so
b7f79000‑b7f7c000 rw-p b7f79000 00:00 0
b7f9d000‑b7fb3000 r-xp 00000000 03:05 752968 /lib/ld‑2.3.6.so
b7fb3000‑b7fb5000 rw-p 00015000 03:05 752968 /lib/ld‑2.3.6.so
bfc2a000‑bfc40000 rw-p bfc2a000 00:00 0 [stack]
ffffe000‑fffff000 r-xp 00000000 00:00 0 [vdso]
). На приведенной распечатке видно, сколько памяти использует процесс test и под какие именно нужды, а так же его карту памяти. Однако таким образом нельзя отследить динамику работы процесса с памятью.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--