высокое использование виртуальной памяти в openvz?

919
freedrull

У нас много проблем с памятью на новой коробке OpenVZ. Предполагается, что он имеет 1 гигабайт памяти, я не уверен, сколько из этого является разрываемой или гарантированной памяти. Программы в целом, кажется, занимают больше виртуальной памяти, чем дома на моем компьютере и на нашем другом устройстве OpenVZ.

Я написал эту простую программу на C:

#include <stdio.h> #include <stdlib.h>  int main(){ char *thingy = malloc(500); getchar(): return 0; } 

Таким образом, он просто выделяет 500 байтов, а затем возвращает. Я запустил программу на 3 компьютерах. На моей домашней машине и в нашем другом окне OpenVZ показано около 1 КБ используемой виртуальной памяти. На новой проблемной машине ее около 3к.

Я знаю, что это просто виртуальная память, а не резидентная память, но почему эта машина выделяет так много виртуальной памяти? Есть ли какие-то настройки, которые мне нужно настроить в соответствии с настройками памяти OpenVZ?

Я попытался изменить размер стека с помощью ulimit -s 256 и перезапустить некоторых демонов, но я все еще видел те же результаты.

Я делаю весь свой мониторинг с помощью htop, это даже хорошая программа для использования с OpenVZ vps? Я прочитал, что я должен анализировать выходные данные / proc / user_beancounters intead или что-то.

Я должен отметить, что это использование памяти, кажется, приводит к сбоям. : \

2

1 ответ на вопрос

2
David Schwartz

Поскольку виртуальная память фактически свободна, никто не потрудится оптимизировать ее использование. Скорее всего, это просто выделение большой суммы, чтобы избежать необходимости выделять больше позже.

Большее распределение стоит так же, как небольшое распределение. Но два небольших выделения стоят больше, чем одно большое.

Я никогда не видел, чтобы это объяснялось так просто. +1 Randolf Richardson 12 лет назад 0
В этом есть смысл. Под «стоимостью» вы подразумеваете использование виртуальной памяти, а не использование процессора, верно? freedrull 12 лет назад 0
Вы знаете что-нибудь об OpenVZ в частности? Я не уверен, почему этот конкретный ящик OpenVZ использует больше памяти, наш другой ящик не использует так много виртуальной памяти. Я предполагаю, что я должен отметить в исходных вопросах сбой системы, что это использование памяти, кажется, приводит к .... freedrull 12 лет назад 0
@freedrull Нет, под «стоимостью» я подразумеваю потребление ресурсов, которые не являются фактически бесплатными, например использование ЦП. David Schwartz 12 лет назад 0

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