Linux에서 사용자 실행 프로세스에 대한 제한을 설정하는 방법


Linux의 장점 중 하나는 거의 모든 것을 제어 할 수 있다는 것입니다. 이를 통해 시스템 관리자는 자신의 시스템을 완벽하게 제어하고 시스템 리소스를 더 잘 활용할 수 있습니다.

이 작업에 대해 생각해 본 적이없는 사람도있을 수 있지만 Linux에서는 단일 사용자가 사용할 수있는 리소스의 양과 시간을 제한 할 수 있다는 것을 아는 것이 중요합니다.

이 짧은 주제에서는 사용자가 시작하는 프로세스 수를 제한하는 방법과 현재 제한을 확인하고 수정하는 방법을 보여줍니다.

더 나아 가기 전에 우리가 지적해야 할 두 가지 사항이 있습니다.

  1. You need root access to your system to modify the user limits
  2. You must be extremely careful if you plan to modify these limits

사용자 제한을 설정하려면 다음 파일을 편집해야합니다.

/etc/security/limits.conf

이 파일은 pam_module에서 만든 ulimit를 적용하는 데 사용됩니다.

파일의 구문은 다음과 같습니다.

<domain> <type> <item> <value>

여기에서 각 옵션에 대해 설명하겠습니다.

  • Domain – this includes usernames, groups, guid ranges etc
  • Type – soft and hard limits
  • Item – the item that will be limited – core size, file size,  nproc etc
  • Value – this is the value for the given limit

제한에 대한 좋은 샘플은 다음과 같습니다.

@student          hard           nproc                20

위의 행은 student 그룹에 최대 20 개의 프로세스를 엄격하게 제한합니다.

특정 프로세스의 제한을 확인하려면 다음과 같이 제한 파일을 간단히 '고양'하면됩니다.

# cat /proc/PID/limits

PID가 실제 프로세스 ID 인 경우 ps 명령을 사용하여 프로세스 ID를 찾을 수 있습니다. 자세한 설명은 다음 기사를 참조하십시오. 실행중인 Linux 프로세스 찾기 및 사용자 수준별 프로세스 제한 설정

그래서 여기에 예가 있습니다 :

# cat /proc/2497/limits
Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             32042                32042                processes 
Max open files            1024                 4096                 files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       32042                32042                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us   

모든 줄은 거의 자명합니다. 그러나 limits.conf 파일에 입력 할 수있는 설정을 더 찾고 싶다면 여기에 제공된 매뉴얼을 참조하십시오.

질문이나 의견이 있으시면 주저하지 마시고 아래 의견란에 제출해주십시오.