Имеем программу которая периодически забирает на себя всю оперативку (firefox, при открытии большого количества табов с картинками большого размера).
Соотвественно система уходит в своп и, как следствие, подвисает работа всех программ.
Через некоторое время firefox оперативку освобождает и можно работать дальше нормально.
Как ограничить использование оперативной памяти для программы?
игра с ulimit не помогла

1. ulimit -d, ulimit -m не оказывают влияние на выделение оперативки под firefox
2. ulimit -v вызывает падение firefox
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted
Вопрос: как ограничить использование оперативной RAM памяти для конкретной программы не трогая все остальные?

Т.е. надо чтобы программа забрала себе максимум оперативки указанной в настройках (например 200МБ) и далее свопилась в файл подкачки, не трогая работу остальных программ и системы.
PS galeon работает также.
PS2. оперу не предлагать, аллергия

+ решение вопроса интересует в принципе.