У нас есть система с 1 ГБ памяти. Из этого я хотел бы ограничить только 512 МБ для Linux и хотел бы получить доступ к остальным 512 МБ непосредственно из приложения, которое работает на Linux.
Что предложенное средство состоит в том, чтобы достигнуть этого на 2.6.x?
отношения, Prab
Вы запускаете Linux - вся память в Вашей машине, чтобы быть доступными Linux так, чтобы Linux мог дать им Вашей программе.
Если система будет иметь 512 МБ, доступных бесплатно, то она даст его Вашей программе, если не затем она не может.
Существуют дополнительные методы, которые можно использовать, чтобы гарантировать, что 512 МБ заблокированы в поршень (не может быть подкачан к диску), но я подозреваю, что это вне того, что необходимо сделать.
Только вещь, о которой я могу думать, имеют Ваше приложение malloc () 512 megs, когда это сначала запускается, и затем подразделите память вручную в рамках программы. И мальчик, о, мальчик настолько уродлив.
Я действительно не понимаю вопроса; необходимо будет объяснить цель более ясно.
Linux выделяет свою память приложениям, поэтому если Linux будет иметь память, то это ДАСТ его Вашему приложению.
Если Вы хотите определенно иметь память, ТЕПЕРЬ, Вы должны
При реальной необходимости во всех страницах использование программы, чтобы быть в ядре, используйте mlockall.
Выделите 512 МБ анонимное отображение с mmap()
и MAP_POPULATE
, затем заблокируйте его с mlock()
.