Серверная среда несколько приложения и безопасность Memcached

Короче говоря:

  • Виртуальный размер: количество адресного пространства, которым управляет процесс. Виртуальное адресное пространство содержит все, к чему процесс может получить доступ через указатели (ссылки адреса памяти). Например, если Ваша программа получает доступ к кадровому буферу Вашей видеокарты, та память отображается на процессе виртуальное пространство и получает адрес, который хранится к указателю. Файлы с отображенной памятью и анонимные отображения также считаются в размер виртуального адресного пространства. В значительной степени все находится в виртуальном размере. Если Вы подводите итог размера всех диапазонов адресов, перечисленных в /proc/<pid>/maps, это должно возвратить Вас примерно то же значение виртуального размера.

  • Резидентный размер: объем памяти, который принадлежит конкретно тому процессу, который в настоящее время является резидентным объектом в памяти. Это означает, объем памяти, который не находится в подкачке. Обратите внимание, что части процесса могут быть в памяти подкачки, даже когда процесс работает. Операционная система вытянет эти регионы от подкачки, когда процесс попытается получить доступ к ней. Это должно включать "кучу", стопки всех потоков и других частных отображений. Если Вы заглядываете /proc/<pid>/maps, [stack], [heap] и другие анонимные отображения (те, которые не имеют путей к файлам) или подкачиваются или считаются в резидентном размере.

  • Общий размер: объем памяти, который может принадлежать нескольким процессам. Например, если у Вас будет четыре экземпляра того же приложения, загруженного в памяти, то у Вас будет четыре экземпляра "кучи" и по крайней мере четыре стека, один для каждого процесса (это - резидентная память), но у Вас будет только один экземпляр двоичного кода программы и ее библиотек. Это - совместно используемое пространство. Не только это включает двоичный код программы и его библиотеки, но также и файлы локализации, данные программы только для чтения, SysV и сегменты общей памяти POSIX, семафоры, и т.д... Если Вы заглядываете /proc/<pid>/maps, большинство отображений, связанных с библиотекой и программными файлами, совместно используется.

Обратите внимание, что VIRT содержит объединение RSS и SHR, и всегда будет больше, чем любой из них. Могут быть регионы, считавшие и как RSS и как SHR.

0
задан 24 February 2010 в 22:29
1 ответ

Необходимо будет просто удостовериться, что нет никаких ключевых коллизий случайно. Посмотрите здесь. Я знаю, что скорость позволяет Вам называть регионы кэша (не уверенный, если это - правильное имя или не). Это помогает облегчить некоторые коллизии. Кроме этого эти коллизии, когда намеренный являются точно намерением с этими cacheing технологиями, мы просто должны разместить их функциональность.

0
ответ дан 24 November 2019 в 13:02

Теги

Похожие вопросы