CentOS에서 /etc/profile
을 이용한 오픈 파일 개수 설정 및 /etc/security/limits.conf
비교
운영체제에서 동시에 열 수 있는 파일 개수(ulimit -n
)는 기본적으로 제한되어 있습니다. 이 제한을 늘려야 하는 경우, /etc/profile
에 설정하면 모든 사용자에게 적용할 수 있습니다.
1. /etc/profile
에서 설정하는 이유
✅ 시스템 전체 적용
-
/etc/profile
은 모든 사용자가 로그인할 때 실행되는 스크립트이므로, 여기에ulimit
을 설정하면 시스템 전체에 적용할 수 있습니다.
✅ root 계정에만 적용 가능
-
일반 사용자와 root 계정을 분리하여 관리할 수 있도록, 다음과 같이
if
조건문을 사용합니다.
설정 방법:
아래 내용을 추가합니다.
📌 설명:
-
-H
: hard limit (최대값) -
-S
: soft limit (기본값) -
65535
: 최대 65535개의 파일을 열 수 있도록 설정
이렇게 하면 root 계정에만 적용되며, 일반 사용자는 기본값을 유지할 수 있습니다.
2. 변경사항 적용 방법
설정 후 즉시 적용하려면 터미널에서 다음 명령을 실행합니다.
이제 ulimit -n
을 실행하면 변경된 값이 적용된 것을 확인할 수 있습니다.
3. /etc/profile
이 아닌 다른 설정 방법
/etc/profile
을 수정하는 것 외에도 /etc/security/limits.conf
에서 설정할 수도 있습니다.
설정 방법:
파일의 맨 아래에 다음 내용을 추가합니다.
📌 설명:
-
*
: 모든 사용자에게 적용 -
soft nofile 65535
: 소프트 리미트 (기본값) -
hard nofile 65535
: 하드 리미트 (최대값) -
root
계정에도 동일한 설정을 적용하려면 별도로root
항목을 추가해야 합니다.
설정이 반영되도록 시스템을 재부팅하거나 또는 로그아웃 후 다시 로그인(세션 새로 열기)해야 합니다.
4. /etc/profile
vs /etc/security/limits.conf
비교
설정 파일 | 적용 대상 | 적용 방식 | 적용 범위 |
---|---|---|---|
/etc/profile | 로그인한 사용자 | 로그인할 때 실행되는 스크립트 | 로그인 셸에서만 적용 (터미널 환경) |
/etc/security/limits.conf | 시스템 전체 | PAM (Pluggable Authentication Module)에서 관리 | SSH, GUI, 서비스, 크론 작업 등 모든 환경에 적용 |
✅ 언제 어떤 설정을 사용해야 할까?
-
로그인한 사용자(터미널, SSH)만 적용하려면 →
/etc/profile
-
SSH, GUI, 크론 작업, 서비스까지 적용하려면 →
/etc/security/limits.conf
5. 결론
-
/etc/profile
을 수정하면 로그인한 사용자에게 적용되지만, 서비스에는 적용되지 않음. -
/etc/security/limits.conf
를 수정하면 시스템 전체(SSH, GUI, 크론 작업, 서비스 포함)에 적용 가능. -
서비스(systemd)를 사용하는 경우
/etc/systemd/system.conf
수정도 필요할 수 있음.
💡 최적의 설정:
-
로그인 사용자 적용 →
/etc/profile
-
시스템 전체 적용 →
/etc/security/limits.conf
-
서비스(systemd)까지 적용 →
/etc/systemd/system.conf
도 수정 필요
🚀 이제 CentOS에서 오픈 파일 개수 제한 없이 운영하세요!
댓글 (0)
댓글을 작성하려면 로그인하세요.