Я слежу за физической памятью на сервере, которым управляю, и мой поставщик оборудования сказал мне, что они увеличили размер физической памяти до 4 Гб ...
Однако, используя несколько инструментов (free -m; top; dmesg | grep Memory; grep MemTotal / proc / meminfo, я обнаружил, что на самом деле у меня 3Gb, а не 4 ...
Но я сомневаюсь в том, что dmesg | grem Память говорит мне, что у меня есть 3103396k / 4194304k
Первое число составляет 3 Гбайт, а второе - 4! Итак, почему я смотрю на эти два разных числа? Я что-то упускаю? или мой провайдер говорит мне правду, но не все правильно настроил?
Я не уверен, идет ли эта ветка здесь, на этом подфоруме, пожалуйста, исправьте и перенаправьте меня, если да ...
Большое спасибо!
Похоже, вы используете 32-битную систему на компьютере. Объем памяти зависит от платы (свойств чипсета), но всегда будет меньше 4 Гб. Чтобы избежать этого, есть два решения.
Чтобы использовать все 4 ГБ ОЗУ, ядро должно быть скомпилировано с:
CONFIG_HIGHMEM4G = y
или
CONFIG_HIGHMEM64G = y
параметры. Что позволит каждой программе адрес что-то около 4 Гб системной памяти. Если в будущем у вас будет больше памяти, ни одна из программ не сможет использовать более одного элемента размером до 4 ГБ в 32-разрядной операционной системе.
Вы можете посмотреть здесь: http://www.codinghorror.com/blog/2007/03/dude-wheres-my-4-gigabytes-of-ram.html для некоторых интересных фактов о проблеме использования 4 Гб памяти в 32-битных системах.