Операционная система работает на физической памяти и предоставляет каждому процессу индивидуальное виртуальное адресное пространство для хранения данных. Чтобы упростить передачу между виртуальной и физической памятью,
операционная система делит часть памяти, которая ей не нужна для ее собственных целей, на страницы. Таким образом, виртуальное адресное пространство, с которым взаимодействует процесс, является кратным этих страниц.
Почему это не так? Почему фактическое потребление памяти (как показано на моем top
) не является кратным,
PID VIRT TIME+ COMMAND
986 212076 11:22.29 Xorg
1194 504916 1:56.15 pulseaudio
1252 445884 0:13.69 xfce4-terminal
827 4256 0:08.16 acpid
размера страницы, используемой моей операционной системой?
acpid
использует 4256 байт виртуальной памяти. getconf PAGESIZE
показывает, что моя система использует размер страницы 4096 байт (4 КБ)
решение1
На самом деле он ведет себя именно так, как вы описываете.
Вывод памяти Top находится в , KiB
поэтому каждая запись делится на 4, поскольку размер вашей страницы составляет 4 КБ.