LINUX.ORG.RU

по моему это может иметь какой-то смысл, если ты одновременно будешь эту память лочить. А в линуксе не рут это не умеет.

dilmah ★★★★★
()

Если требуется узнать, как сильно можно напрячь систему, копай в сторону getrlimit(2)

anonymous
()

Еще: под фрей можно запросить sysctl mib 'hw.physmem',
под линуксом вроде sysctl тоже есть, можно пропарсить /proc/meminfo.

anonymous
()

Спасибо! Только я не понял что такое лочить, lock? хм. Работаю под FreeBSD, sysctl - первое, что я просмотрел - но этот параметр - общий объем памяти - тот что сказал БИОС либо в ядре MEMMAX. А мне хотелось бы узнать объем свободной памяти - в основном преследую цель написать небольшой самотест с высыланием на мыло сообщения о нехватке памяти с сохранением списка процессов. Это можно и шелловыми средствами осуществить - vmstat, iostat ,top - но просто интересно написать на Си, а функцию не знаю.

anonymous
()

>Только я не понял что такое лочить, lock? хм.

Ну да, чтобы в swap не улетала.

> Работаю под FreeBSD, sysctl - первое, что я просмотрел - но этот параметр - общий объем памяти - тот что сказал БИОС либо в ядре MEMMAX.

Ну так. Лично я просто вопрос не совсем понял по началу, поэтому и послал к hw.physmem.

> А мне хотелось бы узнать объем свободной памяти

Это тебе надо смотреть mib'ы vm.stats.*
Там есть всё, что может понадобиться.

> - в основном преследую цель написать небольшой самотест с высыланием на мыло сообщения о нехватке памяти с сохранением списка процессов. Это можно и шелловыми средствами осуществить - vmstat, iostat ,top - но просто интересно написать на Си, а функцию не знаю.

Элементарно - считываем через sysctl(3), сравниваем, спим, опять считываем.
И так далее.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.