7

Я запускаю процесс, требующий памяти (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 уменьшаться. Есть ли более правильный способ?

1 ответ1

1

Вы можете попробовать поиграть с параметром sysctl "swappiness" ... IIRC: чем выше значение, тем больше вероятность "обмена". Посмотрите здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .