По общему признанию это - определенный странный вопрос....
TL; DR: я пытаюсь работать над программой, но каждый раз, когда я связываю ее, она использует смешные суммы RAM. В результате в значительной степени все, но компоновщика пихают к области подкачки, которая делает мою систему 99% безразличный в течение следующих 10 минут. (Хотя, после того как я начинаю использовать различные приложения снова, производительность начинает возвращаться к нормальному.)
Вещь, я действительно не забочусь, сколько времени соединение берет, пока остальная часть компьютера не запирается. Это приносит мне к моему вопросу: существует ли путь к, когда компоновщик запускает, скажите ядру предпочитать подкачивать его к чему-либо еще? например, это, если я испытываю нехватку RAM, компоновщик, будет подкачано перед чем-либо еще.
Я знаю, что это вызвало бы некоторое основное замедление, но я также не хочу должным быть перезапускать свой компьютер каждый раз, когда я связываю его, потому что это становится гигантским ледяным полем.: O
Если я понимаю Ваш вопрос правильно, Вы хотите уменьшить приоритет своего компоновщика (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
можно также найти эта информация интересный.