> 운영 및 유지보수 > 리눅스 운영 및 유지 관리 > 시스템 리소스 제한 및 제어를 위해 Linux를 사용하는 방법

시스템 리소스 제한 및 제어를 위해 Linux를 사용하는 방법

PHPz
풀어 주다: 2023-08-02 14:14:42
원래의
1998명이 탐색했습니다.

Linux를 사용하여 시스템 리소스를 제한하고 제어하는 ​​방법

Linux 시스템에서는 시스템의 안정성과 보안을 보장하기 위해 시스템 리소스를 제한하고 제어해야 하는 경우가 많습니다. 이 기사에서는 Linux에 내장된 리소스 제어 메커니즘을 사용하여 시스템 리소스 사용을 제한하고 제어하는 ​​방법을 소개합니다. 일반적으로 사용되는 두 가지 도구인 cgroup(제어 그룹)과 ulimit 및 해당 사용 예에 ​​중점을 둘 것입니다.

1. cgroup

cgroup은 Linux 커널에서 제공하는 리소스 관리 메커니즘을 통해 프로세스를 함께 구성하고 이러한 프로세스 그룹에 대한 리소스를 제한하고 제어할 수 있습니다. cgroup은 CPU, 메모리, I/O와 같은 시스템 리소스의 사용을 제어하고 제한할 수 있습니다.

  1. cgroup 도구 설치

먼저 cgroup 도구를 설치해야 합니다. 대부분의 Linux 배포판에서는 다음 명령을 사용하여 설치할 수 있습니다:

sudo apt-get install cgroup-tools
로그인 후 복사
  1. cgroup 생성

cgcreate 명령을 사용하여 cgroup을 생성할 수 있습니다. 예를 들어 mygroup이라는 cgroup을 생성합니다.

sudo cgcreate -g cpu,memory:mygroup
로그인 후 복사

위 명령은 다음을 생성합니다. CPU와 메모리 제약이 모두 있는 mygroup이라는 cgroup.

  1. cgroup 리소스 제한 설정

다음으로 cgroup 리소스 제한을 설정해야 합니다. 예를 들어 CPU는 타임 슬라이스의 최대 50%를 사용하도록 제한하고 메모리는 최대 1GB의 메모리를 사용하도록 제한합니다.

sudo cgset -r cpu.cfs_quota_us=50000 -r memory.limit_in_bytes=1G mygroup
로그인 후 복사

위 명령은 mygroup의 CPU가 타임 슬라이스의 최대 50%를 사용하도록 제한합니다. 타임 슬라이스를 제한하고 최대 1GB의 메모리를 사용하도록 메모리를 제한합니다.

  1. cgroup에 프로세스 추가

마지막으로 cgclassify 명령을 사용하여 지정된 cgroup에 프로세스를 추가할 수 있습니다. 예를 들어 프로세스 PID 12345가 있는 프로세스를 mygroup에 추가합니다.

sudo cgclassify -g cpu,memory:mygroup 12345
로그인 후 복사

이제 프로세스 PID 12345가 있는 프로세스에는 mygroup의 리소스 제한이 적용됩니다.

2. ulimit

cgroup 외에도 Linux는 또 다른 강력한 리소스 제어 도구 ulimit를 제공합니다. ulimit를 사용하면 단일 사용자가 사용할 수 있는 시스템 리소스를 제한할 수 있습니다.

  1. 현재 리소스 제한 보기

ulimit 명령을 사용하여 현재 리소스 제한 설정을 볼 수 있습니다. 예를 들어 현재 사용자가 사용할 수 있는 최대 파일 크기 제한을 확인하세요.

ulimit -f
로그인 후 복사
  1. 리소스 제한 설정

ulimit 명령을 사용하여 리소스 제한을 설정할 수 있습니다. 예를 들어 최대 파일 크기 제한을 1GB로 설정하려면:

ulimit -f 1000000000
로그인 후 복사

위 명령은 최대 파일 크기 제한을 1GB로 설정합니다.

또한 ulimit 명령을 사용하여 CPU 시간, 메모리, 열린 파일 수 등과 같은 다른 리소스 제한을 설정할 수도 있습니다.

  1. 리소스 제한을 영구적으로 수정

ulimit 명령을 통해 설정된 리소스 제한은 현재 세션에만 유효합니다. 세션이 종료되면 설정이 무효화됩니다. 리소스 제한을 영구적으로 수정하려면 시스템 구성 파일 /etc/security/limits.conf를 수정할 수 있습니다.

예를 들어 최대 열린 파일 수를 10,000으로 수정하려면 /etc/security/limits.conf에 다음 구성을 추가하면 됩니다.

*    hard    nofile    10000
로그인 후 복사

위 구성은 최대 열린 파일 수를 다음으로 수정합니다. 10,000.

결론

이 글에서는 시스템 자원 제한 및 제어를 위해 Linux를 활용하는 방법을 소개합니다. 우리는 일반적으로 사용되는 두 가지 도구인 cgroup과 ulimit에 초점을 맞추고 해당 사용 예를 제시했습니다. 이러한 도구를 합리적으로 사용함으로써 시스템 리소스 사용을 효과적으로 제어하고 시스템의 안정성과 보안을 보장할 수 있습니다. 이 기사가 Linux를 사용하여 시스템 리소스를 제한하고 제어하는 ​​독자들에게 도움이 되기를 바랍니다.

참고자료:

  • https://www.man7.org/linux/man-pages/man7/cgroups.7.html
  • https://www.man7.org/linux/man-pages/man2 / setrlimit.2.html
  • https://linux.die.net/man/1/ulimit

위 내용은 시스템 리소스 제한 및 제어를 위해 Linux를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿