Linux에서 사용자 실행 프로세스에 대한 제한을 설정하는 방법
Linux의 장점 중 하나는 거의 모든 것을 제어할 수 있다는 것입니다. 이를 통해 시스템 관리자는 시스템을 효과적으로 제어하고 시스템 리소스를 더 효율적으로 활용할 수 있습니다.
일부 사람들은 이 작업에 대해 생각해 본 적이 없을 수도 있지만 Linux에서는 단일 사용자가 사용할 수 있는 리소스의 양과 기간을 제한할 수 있다는 점을 아는 것이 중요합니다.
또한 읽어 보세요: Linux에서 열린 파일 수 제한을 늘리는 방법
이 짧은 주제에서는 사용자가 시작한 프로세스 수를 제한하는 방법과 현재 제한을 확인하고 수정하는 방법을 보여줍니다.
더 나아가기 전에 우리가 지적해야 할 두 가지 사항이 있습니다.
- 사용자 제한을 수정하려면 시스템에 대한 루트 액세스 권한이 필요합니다.
- 이러한 제한을 수정하려는 경우 매우 주의해야 합니다.
사용자 제한을 설정하려면 다음 파일을 편집해야 합니다.
/etc/security/limits.conf
이 파일은 pam_module에 의해 생성된 ulimit를 적용하는 데 사용됩니다.
파일의 구문은 다음과 같습니다.
<domain> <type> <item> <value>
여기서는 각 옵션에 대해 논의하겠습니다.
- 도메인 – 여기에는 사용자 이름, 그룹, GUID 범위 등이 포함됩니다.
- 유형 – 소프트 및 하드 제한
- 항목 – 제한될 항목 – 코어 크기, 파일 크기, nproc 등
- 값 – 지정된 한도에 대한 값입니다.
극한에 대한 좋은 샘플은 다음과 같습니다.
@student hard nproc 20
위 줄은 'student'
그룹에서 최대 20개의 프로세스로 엄격한 제한을 설정합니다.
특정 프로세스의 제한을 보려면 다음과 같이 제한 파일을 'cat'하면 됩니다.
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 파일에 입력할 수 있는 더 많은 설정을 찾으려면 여기에 제공된 매뉴얼을 살펴보세요.
질문이나 의견이 있으면 주저하지 말고 아래 의견란에 제출해 주세요.