친화성 값이 상위 프로세스의 친화성 값에서 상속된다는 것을 이해합니다. 하지만 특정 사용자(나 자신)에 대한 기본 친화성 값을 전역적으로 변경할 수 있나요?
이 경우에는 ssh
./bin/bash
/etc/bash5
/etc/bash5
#!/bin/sh
nice -n 5 /bin/bash
#file privileges: root:root 755
제 생각에는 이것은 끔찍한 해킹이며 오류가 발생하기 쉽습니다. 더 좋은 방법이 있어야 합니다.
제가 가장 관심을 갖고 있는 것은 데스크톱/노트북 시스템에서도 작동하는 범용 솔루션입니다.
편집: 제안된 변경 사항을 시도했지만 limits.conf
예상대로 작동하지 않습니다.
root@server# addgroup nice
root@server# adduser myself nice
root@server# echo '@nice soft nice 5' >> /etc/security/limits.conf
그런 다음 내 클라이언트 컴퓨터에서 다음과 같이 말합니다.
myself@client$ ssh server
myself@server$ sleep 1h &
myself@server$ htop
이제 sleep
프로세스에는초기 좋은 가치0
하지만 값을 19로 변경 F8
한 다음 다시 줄이려고 하면F7
그것은에서 멈춘다5
.
편집 2: 솔루션
nice
직관에 어긋나더라도 실제로는 아이템을 사용하는 대신 아이템을 사용해야 합니다 .limits.conf
priority
@nice soft priority 5
답변1
/etc/security/limits.conf
파일에서 특정 사용자의 우선순위를 설정할 수 있습니다.
root hard/soft priority 10
이 방법으로 특정 사용자에 대해 하드 또는 소프트 제한을 설정할 수 있습니다. 따라서 루트 사용자가 시작하는 모든 프로세스의 기본 우선순위 값은 5입니다.
~에 따르면위키피디아 페이지:
프로세스에 대해 특정한 좋은 값을 설정하는 정확한 수학적 효과는 스케줄러 Unix 구현의 설계 세부 사항에 따라 달라집니다.
다음은 위의 프로세스가 실제로 실행되는 모습을 보여주는 스냅샷입니다.
limits.conf
다음은 내가 추가한 마지막 줄을 보여주는 파일의 스냅샷 입니다.
root hard priority 15
이것을 변경한 후 다음 명령을 사용하여 SSH 세션을 시작했습니다.ssh root@localhost
-bash
이 스크린샷은 적절한 값이 15 인 마지막 두 프로세스를 보여주는 마지막 두 줄을 보여줍니다 sshd: root@pts/3
.
편집하다
다음은 프로세스를 얼마나 잘 늘리고 줄일 수 있는지 보여주는 스냅샷입니다.
편집 2:
간단한 설명을 드리자면, 일반 사용자라도 친근감 값을 변경할 수 있습니다.