Указание ядра для определения приоритетности замены определенного приложения?

С помощью awk вы можете просто сделать

awk '{split($3,a,":"); print > "test"a[1]+1".txt";}' test.txt

В чистом bash я не уверен, что лучший способ - хотя вы могли бы сделать что-то вроде

while read -r line; do 
  read -r a b c d <<< "$line"
  printf -v outfile "test%d.txt" $(( ${c%%:*} + 1 ))
  printf "%s\n" "$line" >> "$outfile"
done < test.txt
2
задан 26 April 2017 в 19:25

3 ответа

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

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

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

Выдержка из страницы man 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

Вы также можете найти http://manpages.ubuntu.com/manpages/ xenial / man2 / nice.2.html intere жала.

2
ответ дан 22 May 2018 в 23:11

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

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

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

Выдержка из страницы man 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

Вы также можете найти http://manpages.ubuntu.com/manpages/ xenial / man2 / nice.2.html intere жала.

2
ответ дан 18 July 2018 в 14:13

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

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

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

Выдержка из страницы man 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

Вы также можете найти http://manpages.ubuntu.com/manpages/ xenial / man2 / nice.2.html intere жала.

2
ответ дан 24 July 2018 в 20:21

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

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