Я запускаю процесс, mkcromfs
требующий памяти ( ), который потребляет больше памяти, чем у меня есть на моей latop физической памяти, так что он все время выполняет подкачку, подкачку и перегрузку, а loadavg составляет около 2 ( compcache
уже используется с обычным разделом подкачки) , но медленно продвигается вперед (хотя я боюсь, что он, наконец, попытается выделить> 2 ГБ, а сбой истощит 2 дня побоев).
Когда я хочу использовать ноутбук для чего-то другого, я прекращаю процесс, запускаю X-сервер, Firefox и другие программы. Проблема в том, что когда я запускаю Firefox, loadavg переходит на 10, и система перестает отвечать на запросы вообще (долгое время для включения / выключения блокировки шапки, медленное обновление позиции курсора мыши, медленное переключение с X-сервера на консоль Linux, медленный вход в систему) ,
Остановленный по- mkcromfs
прежнему удерживает много памяти (464,8 МБ и медленно падает) и перемещает ее для замены только тогда, когда для какой-либо другой программы требуется больше памяти, что приводит к значительному замедлению.
Как сказать Linux полностью поменять этот процесс (например, я не собираюсь возобновлять его в краткосрочной перспективе), возможно, пробудившись от обмена другими данными? Также будет полезно указать точное устройство подкачки для замены данного процесса (например, mkcromfs
память в ramzswap бесполезна).
Обновление: сейчас я просто записываю 400-600M данных из /dev/erandom
в tmpfs
и это mkcromfs
сокращается. Есть ли более правильный способ?
swappiness
на 100, когда я останавливаюсь,mkcromfs
и на 0, когда я запускаю его снова. Не понимаю, как может помочь ulimit.injcode
) способ изменить пределы другого процесса? 3. Похоже, что rlimits заставляет процессы возвращать ошибки. Думаю, я хочу быть прозрачным для процесса.