Как в программе C узнать, сколько свободной памяти в ОС (CentOS 7)? [дубликат]Linux

Ответить Пред. темаСлед. тема
Anonymous
 Как в программе C узнать, сколько свободной памяти в ОС (CentOS 7)? [дубликат]

Сообщение Anonymous »


Я использую функцию malloc() в программе на C, чтобы получить доступную память.

Я часто сталкиваюсь с проблемой, когда функция malloc() не возвращает NULL, когда ОС CentOS7 не может выделить больше памяти, и мой процесс завершается ОС.

Я поискал некоторую информацию и узнал, что в ОС есть процесс OOM Killer, который случайным образом останавливает пользовательский процесс, потребляющий много памяти, когда в ОС недостаточно памяти.

В этом случае, похоже, у меня нет возможности узнать в программе, есть ли в ОС еще доступная память, и когда я вызываю функцию malloc(), я теряю контроль над программой.

Что я хочу знать:
[*]Можно ли мне узнать, сколько памяти доступно в ОС, прежде чем я вызову функцию malloc()? [*]Или как мне заставить функцию malloc() возвращать NULL, когда память не может быть выделена, вместо того, чтобы мой процесс был уничтожен OOM Killer?
Спасибо.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»