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

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

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

#include <stdio.h>
#include <stdlib.h>

int main(){
  char *thingy = malloc(500);
  getchar():
  return 0;
}

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

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

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

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

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

7
задан freedrull
28.11.2022 19:55 Количество просмотров материала 2608
Распечатать страницу

1 ответ

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

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

2
отвечен David Schwartz 2022-11-30 03:43

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх