2017-03-03 15 views
1

이러한 제한이 어떻게 작동하는지 이해하려고합니다. 그러나 나는 그것을 이해할 수 없으며, 왜 하드 한계가 존재할 때 첫 번째로 소프트 한도가 필요한지 설명 할 수 없습니다. 내가 간 사이트의 대부분은 그들이 무엇인지 이야기하지만 아무도 어떻게 작동하는지에 대해 언급하지 않습니다.Linux의 하드 제한 및 소프트 제한

프로세스의 맥락에서, 누구나 어떻게 작동하는지 설명 할 수 있습니까?

감사합니다.

+0

[soft-limit-vs-hard-limit] (http://serverfault.com/questions/265155/soft-limit-vs-hard-limit) – franklinsijo

+0

@franklinsijo 이것을 읽었습니다. 그들이 무엇인지 설명합니다. 그러나 왜 소프트 한도가 필요한지 설명하지 못합니까? 하드 한계를 사용할 수 없습니까? – RV186

답변

0

우리가 그 숫자 프로세스의

abc  soft nproc 1024 
abc  hard nproc 20000 

이 사용자가 로그인으로 설정되어 사용자 abc을 생각해 보자, 사용자는 프로세스의 유효 소프트 제한 즉, abc 1024 개 프로세스의 최대 실행할 수 있습니다 적용된 . 이 제한을 모두 사용하면 소프트 제한을 더 늘리지 않으면 사용자가 더 이상 프로세스를 실행할 수 없습니다.

이 시점에서 사용자는 선택적으로 프로세스 제한을 늘릴 수 있지만 하드 제한보다 커서는 안됩니다.
사용자는 (20000의 하드 제한을 초과 함) 21000로 증가

ulimit -S -u 21000 
-bash: ulimit: max user processes: cannot modify limit: Operation not permitted 

하지만 허용되는 엄격한 제한을 덜거나 같은 값으로 설정하려고 시도하는 경우. 하드 한도 증가는 root에 의해서만 가능합니다.

하드 제한을 사용할 수 없습니까?

예, 가능합니다. 하드 제한과 동일

abc  soft nproc 20000 
abc  hard nproc 20000 

설정 소프트 제한은 하드 제한이 abc 사용자에 대한 기본 제한 될 만들 것입니다. 완전히 생성 될 수있는 (제한 세트가 상대적으로 높은 경우) 단일 사용자가 대부분의 프로세스를 소모 할 수 있으므로 권장하지 않습니다 (pid_max).