웹사이트 검색

Linux에서 열린 파일 수 제한을 늘리는 방법


Linux에서는 열린 파일의 최대량을 변경할 수 있습니다. ulimit 명령을 사용하여 이 숫자를 수정할 수 있습니다. 이는 쉘이나 쉘에 의해 시작된 프로세스에 사용 가능한 리소스를 제어할 수 있는 기능을 부여합니다.

추가 읽기: 사용자별 수준에서 Linux 실행 프로세스 제한 설정

이 짧은 튜토리얼에서는 열린 파일 및 파일 설명의 현재 제한을 확인하는 방법을 보여줍니다. 하지만 그렇게 하려면 시스템에 대한 루트 액세스 권한이 필요합니다.

먼저, Linux 시스템에서 열린 파일 설명자의 최대 수를 알아내는 방법을 살펴보겠습니다.

Linux 오픈 파일 제한 찾기

값은 다음 위치에 저장됩니다.

cat /proc/sys/fs/file-max

818354

표시되는 숫자는 사용자가 로그인 세션당 열 수 있는 파일 수를 나타냅니다. 시스템에 따라 결과가 다를 수 있습니다.

예를 들어 내 CentOS 서버에서는 제한이 818354로 설정되었지만 집에서 실행하는 Ubuntu 서버에서는 기본 제한이 176772로 설정됩니다.

하드 제한과 소프트 제한을 보려면 다음 명령을 사용할 수 있습니다.

Linux에서 하드 제한 확인

ulimit -Hn

4096

Linux에서 소프트 제한 확인

ulimit -Sn

1024

다양한 사용자에 대한 하드 및 소프트 값을 보려면 “su”를 사용하여 사용자를 확인하려는 제한으로 전환하면 됩니다.

예를 들어:

su marin
ulimit -Sn

1024
ulimit -Hn

4096

Linux에서 시스템 전체 파일 설명자 제한을 확인하는 방법

서버를 실행 중인 경우 일부 응용 프로그램에서는 열린 파일 설명자에 대해 더 높은 제한이 필요할 수 있습니다. 이에 대한 좋은 예는 MySQL/MariaDB 서비스 또는 Apache 웹 서버입니다.

커널 지시문 fs.file-max를 편집하여 Linux에서 열린 파일의 제한을 늘릴 수 있습니다. 이를 위해 sysctl 유틸리티를 사용할 수 있습니다.

Sysctl은 런타임에 커널 매개변수를 구성하는 데 사용됩니다.

예를 들어 열린 파일 제한을 500000으로 늘리려면 루트로 다음 명령을 사용할 수 있습니다.

sysctl -w fs.file-max=500000

다음 명령을 사용하여 열린 파일의 현재 값을 확인할 수 있습니다.

cat /proc/sys/fs/file-max

위 명령을 사용하면 변경 사항이 다음에 재부팅할 때까지만 활성 상태로 유지됩니다. 영구적으로 적용하려면 다음 파일을 편집해야 합니다.

vi /etc/sysctl.conf

다음 줄을 추가합니다.

fs.file-max=500000

물론 필요에 따라 번호를 변경할 수 있습니다. 변경 사항을 다시 확인하려면 다음을 사용하십시오.

cat /proc/sys/fs/file-max

변경 사항을 적용하려면 사용자는 로그아웃했다가 다시 로그인해야 합니다. 한도를 즉시 적용하려면 다음 명령을 사용하면 됩니다.

sysctl -p

Linux에서 사용자 수준 열린 파일 제한 설정

위의 예에서는 전역 제한을 설정하는 방법을 보여 주었지만 사용자별로 제한을 적용할 수도 있습니다. 이를 위해서는 루트 사용자로서 다음 파일을 편집해야 합니다.

vi /etc/security/limits.conf

Linux 관리자라면 해당 파일과 이에 대해 수행할 수 있는 작업에 대해 잘 알아두시기 바랍니다. 다양한 수준에서 사용자/그룹을 제한하여 시스템 리소스 관리 측면에서 뛰어난 유연성을 제공하므로 여기에 있는 모든 설명을 읽어보세요.

추가해야 하는 줄은 다음 매개변수를 사용합니다.

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

다음은 marin 사용자에 대해 소프트 및 하드 제한을 설정하는 예입니다.

## Example hard limit for max opened files
marin        hard nofile 4096
## Example soft limit for max opened files
marin        soft nofile 1024

마지막 생각들

이 간략한 도움말에서는 최대 열린 파일 수에 대한 전역 및 사용자 수준 제한을 확인하고 구성하는 방법에 대한 기본 예를 보여주었습니다.

표면적인 부분만 살펴보는 동안 /etc/sysctl.conf/etc/security/limits.conf 및 그것들을 사용하는 방법을 배우십시오. 언젠가는 당신에게 큰 도움이 될 것입니다.