У нас много проблем с памятью на новой коробке 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 или что-то.
Я должен отметить, что это использование памяти, кажется, приводит к сбоям. :\