Сообщение ядра расположить по приоритетам свопинг определенного приложения?

По общему признанию это - определенный странный вопрос....

TL; DR: я пытаюсь работать над программой, но каждый раз, когда я связываю ее, она использует смешные суммы RAM. В результате в значительной степени все, но компоновщика пихают к области подкачки, которая делает мою систему 99% безразличный в течение следующих 10 минут. (Хотя, после того как я начинаю использовать различные приложения снова, производительность начинает возвращаться к нормальному.)

Вещь, я действительно не забочусь, сколько времени соединение берет, пока остальная часть компьютера не запирается. Это приносит мне к моему вопросу: существует ли путь к, когда компоновщик запускает, скажите ядру предпочитать подкачивать его к чему-либо еще? например, это, если я испытываю нехватку RAM, компоновщик, будет подкачано перед чем-либо еще.

Я знаю, что это вызвало бы некоторое основное замедление, но я также не хочу должным быть перезапускать свой компьютер каждый раз, когда я связываю его, потому что это становится гигантским ледяным полем.: O

2
задан 26 April 2017 в 19:25

1 ответ

Если я понимаю Ваш вопрос правильно, Вы хотите уменьшить приоритет своего компоновщика (ld на основе тегов, которые Вы использовали), чтобы Ваша система осталась быстро реагирующей, в то время как компоновщик работает. Во всех отношениях, этим вопросом является дубликат правильность Изменения (приоритет) рабочего процесса , но это не может быть закрыто как дубликат с открытой щедростью на нем.

можно запустить процесс с очень низкий приоритет путем предварительного ожидания nice -n 19 к команде или изменить его, в то время как это в процессе с renice

, Этот подход даст системе команду быть более готовой выпустить системные ресурсы для других задач и улучшить скорость отклика системы, значение правильности по умолчанию равняется 10. Можно экспериментировать с различными значениями от 11 до 19, который инкрементно улучшит скорость отклика системы с 19 получающимися в большей части улучшения (и самое долгое время соединения)

Выборка от nice страница справочника:

NOTES

       SUSv2 and POSIX.1 specify that nice() should return the new nice value.
       However, the Linux system call and the nice() library function provided
       in older versions of (g)libc (earlier than glibc  2.2.4)  return  0  on
       success.  The new nice value can be found using getpriority(2).

       Since  glibc  2.2.4,  nice()  is implemented as a library function that
       calls getpriority(2) to obtain the new nice value to be returned to the
       caller.   With  this implementation, a successful call can legitimately
       return -1.  To reliably detect an error, set  errno  to  0  before  the
       call, and check its value when nice() returns -1.

Источники:

правильность Изменения (приоритет) рабочего процесса

http://manpages.ubuntu.com/manpages/xenial/man2/nice.2.html

можно также найти эта информация интересный.

2
ответ дан 2 December 2019 в 03:40

Другие вопросы по тегам:

Похожие вопросы: