지정된 사용자 (limits.conf)의 기본 기본 값을 설정하십시오.


12

누군가 사용자 의 기본값 nice을 표시 하는 방법을 알려주시겠습니까 top? 나는 /etc/security/limits.conf가 장소라는 것을 알았습니다.

username_of_a_guy  -  nice  19
username_of_a_guy  soft  nice  19
username_of_a_guy  hard  nice  19

작동하지 않습니다 (그렇지 않으면 안됩니까?).

그 이후로 재부팅했습니다.

주셔서 감사합니다 아주 많이 도움이 사전에. 데비안 불안정 (최신)을 사용하고 있습니다.

문맥:

우리 회사에는 로컬 네트워크가 있습니다. 모든 사람이 자신의 컴퓨터를 가지고 있고 다른 사람이 좋아하는 경우 다른 사람의 컴퓨터에서 계정을 만들 수 있습니다. 경험의 원칙은 단순히 다른 컴퓨터에서 작업하는 경우 프로세스를 훌륭하게 처리한다는 것입니다 ( nice 19).

주어진 사용자의 기본 nice 값을 한 번에 19로 설정하고 싶습니다.


답변:


13

올바른 형식은 다음과 같습니다.

@users      -       priority        10
username    -       priority        19

이것은 프로덕션에서 사용하는 설정의 예입니다 (실제 사용자 / 그룹과 함께).

nice설정은 최소 좋은 값 (즉, 최대 우선 순위) 사람이 아니라 자신의 기본 우선 순위에 자신의 과정을 설정할 수 있습니다 결정하는 것입니다.


2
우선, 답변 주셔서 감사합니다 (@mattdm 감사합니다). 이 방법이 효과가있는 것 같습니다. 그러나 "nice"과 "priority"의 차이점에 대해 여전히 혼란스러워합니다. 둘 다 "top"으로 표시되지만 nice로 인용 된 값은 우선 순위를 설정해야합니다. 나에게는 조금 이상해 보인다. 또한, 우선 순위가 클수록 (20 대신 39) 더 좋은 프로세스를 의미합니까? 감사합니다.
Alex

4
'NI'우선 순위는 한계 priority설정에 의해 설정되는 것 입니다. 이것은 로그인 할 때 해당 사용자 / 그룹에 대한 프로세스의 기본 우선 순위입니다.이 값은 -20과 20 사이로 만 설정할 수 있습니다. 맨 위의 'PR'값은 실제 스케줄러 우선 순위이며 이는 몇 가지에 의해 결정됩니다. 커널의 스케줄러에 의한 요소.
jsbillings 2016 년

1
또한 우선 순위가 높을수록 CPU주기를 예약 할 가능성이 줄어 듭니다.
jsbillings 2016 년

1
이 명확성에 감사드립니다. BTW, 나는 내보다 다른 상황에서 더 나을 수있는 다른 방법 ( and또는 관련 cgroup)을 시도하지 않았습니다 (지속적인 검사 또는 많은 사용자의 관리가 필요합니다-내 경우에는 너무 많습니다).
Alex

흠 ... 이것은 우분투 컴퓨터에서 한 사용자에게는 효과가 있었지만 다른 사용자에게는 효과가 없었습니다. 이유를 알아낼 수 있다면 다시 올게요. ;-)
Ken Sharp

3

시스템에서도 작동하지 않는 것을 확인할 수 있습니다. 문서는 "커널 2.6.11 이상"이라고 말하고 저는 커널 2.6.38-rc6과 함께 Fedora rawhide를 사용하고 있습니다. 스케줄러에 의존하고 2.6.23에 도입 된 CFQ ( "완전히 공정한 스케줄러")와 작동하지 않는지 궁금합니다.

그러나 잘 작동하는 것은 검색이 불가능하기 때문에 끔찍한 이름 and, 즉 auto-nice 데몬입니다. http://and.sourceforge.net/을 참조하십시오 . 이것은 Fedora에서와 함께 사용할 수 yum install and있지만 불행히도 EPEL에는없는 것 같습니다. 그리고 그것은 데비안에도 있습니다 : apt-get install and.

그러나 최신 배포판을 사용하는 경우 더 나은 방법이 있습니다. libcgroup 의 도구를 사용하여 커널 수준 cgroup 제한 CPU 공유 를 설정하고 해당 사용자 프로세스를이 cgroup으로 자동 "분류"할 수 있습니다. 이를 통해 I / O의 우선 순위를 정하고 메모리 사용량 (디스크 캐시 공유 포함)을 제한 할 수도 있습니다.


cgroups를 사용하는 것이 다른 사람들이 컴퓨터의 모든 CPU 사이클을 사용하지 못하도록 제한하는 훌륭한 방법이라는 데 동의합니다. 안타깝게도 지원하는 시스템 (RHEL5)에는이를 지원하는 커널이 없으므로 우선 순위를 조정해야합니다. RHEL6으로 업데이트하면 상당히 복잡한 cgroup 설정이있을 것입니다.
jsbillings
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.