Linux 에서 성능 프로파일이 활성 상태인지 확인하는 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 tuned-adm 명령줄 도구를 사용하여 Linux 에서 성능 프로파일이 활성화되어 있는지 확인하는 방법을 배우게 됩니다. 이 도구는 특정 워크로드에 최적화된 사전 정의된 프로파일을 기반으로 설정을 동적으로 조정하여 시스템 성능을 관리합니다.

tuned-adm activetuned-adm status를 사용하여 현재 활성 상태인 tuned 프로파일을 식별하는 방법을 살펴봅니다. 또한 어떤 프로파일이 활성 상태인지, 또는 프로파일이 활성 상태가 아닌 경우 출력을 해석하는 방법과 이러한 명령을 실행할 때 sudo 권한의 중요성을 배우게 됩니다. 또한 sysctl -a를 사용하여 sysctl 설정을 확인하고 cat /etc/tuned를 사용하여 tuned 설정을 검사하는 방법을 배우게 됩니다.

tuned-adm active 로 프로파일 확인

이 단계에서는 tuned-adm을 사용하여 현재 활성 상태인 프로파일을 확인하는 방법을 살펴봅니다. tuned-adm은 사전 정의된 프로파일을 기반으로 시스템 설정을 동적으로 조정하여 시스템 성능을 관리하는 데 사용되는 명령줄 도구입니다. 이러한 프로파일은 처리량, 지연 시간 또는 절전과 같은 특정 워크로드에 맞게 시스템을 최적화합니다.

먼저, tuned 프로파일이 무엇인지 이해해 보겠습니다. tuned 프로파일은 특정 워크로드에 맞게 시스템을 최적화하는 설정 모음입니다. 이러한 설정에는 CPU 주파수 스케일링, 디스크 I/O 스케줄링 및 네트워크 튜닝 매개변수가 포함될 수 있습니다.

현재 활성 상태인 tuned 프로파일을 확인하려면 터미널을 엽니다. 터미널은 Linux 시스템과 상호 작용하기 위한 명령 센터임을 기억하십시오. 데스크탑 왼쪽에서 Xfce 터미널 아이콘을 찾을 수 있습니다.

이제 다음 명령을 입력하고 Enter 키를 누릅니다.

sudo tuned-adm active

이 명령은 tuned 데몬을 쿼리하고 활성 프로파일의 이름을 표시합니다. 다음과 유사한 출력을 볼 수 있습니다.

Current active profile: virtual-guest

출력 virtual-guestvirtual-guest 프로파일이 현재 활성 상태임을 나타냅니다. 이 프로파일은 일반적으로 가상 머신에 사용되며 가상화된 환경에 맞게 시스템을 최적화합니다.

프로파일이 활성 상태가 아닌 경우 출력은 다음과 같습니다.

No current active profile.

tuned-adm 명령은 시스템 설정을 수정하므로 실행하려면 sudo 권한이 필요하다는 점에 유의해야 합니다. sudo를 사용하면 관리자 권한으로 명령을 실행할 수 있습니다.

이제 tuned 데몬에 대한 자세한 정보를 얻기 위해 다른 명령을 시도해 보겠습니다.

sudo tuned-adm status

이 명령은 활성 프로파일, 적용된 튜닝 플러그인, 경고 또는 오류를 포함하는 보다 자세한 상태 보고서를 제공합니다. 출력은 다음과 같을 수 있습니다.

Currently active profile: virtual-guest
plugin: (...)
(...)

tuned-adm status 명령은 문제 해결 및 tuned 데몬이 올바르게 작동하는지 확인하는 데 유용합니다.

활성 프로파일을 확인하여 시스템이 의도된 용도에 맞게 최적화되었는지 확인할 수 있습니다. 다른 프로파일로 전환해야 하는 경우, 다음 단계에서 살펴볼 tuned-adm profile 명령을 사용할 수 있습니다.

sysctl -a 로 sysctl 설정 확인

이 단계에서는 sysctl 명령을 사용하여 현재 시스템 설정을 확인합니다. sysctl은 런타임에 커널 매개변수를 구성할 수 있는 강력한 도구입니다. 이러한 매개변수는 네트워킹, 메모리 관리 및 보안과 같은 시스템 동작의 다양한 측면을 제어합니다.

sysctl을 재부팅하지 않고 Linux 시스템을 미세 조정하는 방법이라고 생각하십시오. 자동차의 성능을 최적화하기 위해 설정을 조정하는 것과 같습니다.

현재 모든 sysctl 설정을 보려면 터미널을 열고 다음 명령을 입력합니다.

sudo sysctl -a

이 명령은 커널 매개변수와 현재 값의 긴 목록을 표시합니다. 출력은 다음과 유사합니다.

kernel.domainname = (none)
kernel.osrelease = (...)
kernel.ostype = Linux
kernel.panic = 60
(...)
net.ipv4.ip_forward = 0
net.ipv4.tcp_rmem = 4096    131072  6291456
(...)
vm.swappiness = 60
vm.vfs_cache_pressure = 100

출력은 parameter = value 형식으로 구성됩니다. 각 줄은 특정 커널 매개변수와 현재 설정을 나타냅니다.

자주 볼 수 있는 몇 가지 일반적인 매개변수를 살펴보겠습니다.

  • kernel.domainname: 시스템의 도메인 이름입니다.
  • net.ipv4.ip_forward: IPv4 에 대한 IP 전달 (라우팅) 을 제어합니다. 값 0은 전달을 비활성화하고, 1은 활성화합니다.
  • vm.swappiness: 커널이 메모리 페이지를 디스크로 스왑하는 정도를 정의합니다. 값이 낮을수록 스왑이 줄어들고, 값이 높을수록 스왑이 증가합니다.
  • vm.vfs_cache_pressure: 커널이 디렉토리 및 inode 정보를 캐싱하는 데 사용되는 메모리를 회수하는 정도를 제어합니다.

grep을 사용하여 출력을 필터링하고 특정 설정을 찾을 수 있습니다. 예를 들어, vm.swappiness의 값을 찾으려면 다음 명령을 사용할 수 있습니다.

sudo sysctl -a | grep vm.swappiness

그러면 vm.swappiness를 포함하는 줄만 표시됩니다.

vm.swappiness = 60

sysctl -a 명령은 Linux 시스템의 현재 구성을 이해하는 데 유용한 도구입니다. 광범위한 커널 매개변수를 검사하고 최적화할 수 있는 잠재적 영역을 식별할 수 있습니다.

다음 단계에서는 sysctl을 사용하여 이러한 설정을 수정하는 방법과 tuned 프로파일이 이 프로세스를 자동화하는 방법을 살펴봅니다.

cat /etc/tuned로 tuned 설정 검토

이 단계에서는 /etc/tuned 디렉토리에 있는 tuned 구성 파일을 검사합니다. 이러한 파일은 tuned가 시스템 성능을 최적화하는 데 사용하는 다양한 프로파일을 정의합니다.

tuned 구성은 프로파일로 구성되며, 각 프로파일은 /etc/tuned 내의 하위 디렉토리로 표시됩니다. 각 프로파일 디렉토리에는 해당 프로파일에 대한 튜닝 매개변수를 지정하는 tuned.conf 파일이 포함되어 있습니다.

/etc/tuned 디렉토리의 내용을 보려면 터미널을 열고 다음 명령을 입력합니다.

ls /etc/tuned

이 명령은 사용 가능한 tuned 프로파일을 나열합니다. 다음과 유사한 출력을 볼 수 있습니다.

acceleratorcard  desktop  latency-performance  network-latency  network-throughput  powersave  profile_includes  README  throughput-performance  virtual-guest  virtual-host

이것은 tuned가 활성화할 수 있는 다양한 프로파일의 이름입니다. 각 프로파일은 특정 유형의 워크로드 또는 환경을 위해 설계되었습니다.

이제 첫 번째 단계에서 활성 프로파일로 식별한 virtual-guest 프로파일의 구성 파일을 검사해 보겠습니다. virtual-guest 프로파일에 대한 tuned.conf 파일의 내용을 보려면 다음 명령을 사용합니다.

cat /etc/tuned/virtual-guest/tuned.conf

이 명령은 tuned.conf 파일의 내용을 표시합니다. 출력은 다양한 구성 설정을 포함하는 텍스트 파일이 됩니다. 파일은 섹션으로 나뉘며, 각 섹션은 튜닝 매개변수 집합을 정의합니다.

[main]
include = virtual-server

[sysctl]
vm.swappiness = 30

[vm]
transparent_hugepages = never

주요 섹션을 살펴보겠습니다.

  • [main]: 이 섹션은 포함할 다른 프로파일과 같은 프로파일에 대한 일반 설정을 정의합니다. 이 경우 virtual-server 프로파일을 포함하므로 해당 프로파일의 설정도 상속합니다.
  • [sysctl]: 이 섹션은 프로파일이 활성화될 때 설정할 sysctl 매개변수를 정의합니다. 이 예에서는 vm.swappiness30으로 설정합니다. 이렇게 하면 시스템이 메모리를 디스크로 스왑하는 경향이 줄어들어 가상화된 환경에서 성능을 향상시킬 수 있습니다.
  • [vm]: 이 섹션은 가상 메모리 설정을 정의합니다. 이 예에서는 투명한 hugepage 를 비활성화하여 일부 가상화된 환경에서 메모리 관리를 개선할 수 있습니다.

다른 프로파일의 구성 파일을 탐색하여 어떻게 다른지 확인할 수 있습니다. 예를 들어, throughput-performance 프로파일은 디스크 I/O 성능을 우선시할 수 있고, powersave 프로파일은 전력 소비를 줄이는 데 중점을 둘 수 있습니다.

tuned 구성 파일을 검사하여 tuned가 다양한 워크로드에 맞게 시스템을 최적화하는 방법에 대한 더 깊은 이해를 얻을 수 있습니다. 이 지식은 성능 문제를 해결하고 특정 요구 사항에 맞게 시스템을 사용자 정의하는 데 유용할 수 있습니다.

요약

이 랩에서는 tuned-adm 명령줄 도구를 사용하여 Linux 에서 현재 활성 상태인 성능 프로파일을 확인하는 방법을 배웠습니다. sudo tuned-adm active를 사용하여 특정 워크로드에 맞게 시스템을 최적화하는 활성 프로파일을 식별했습니다. 출력은 virtual-guest와 같은 활성 프로파일의 이름을 표시하거나 활성 프로파일이 없는 경우를 나타냅니다.

또한, sudo tuned-adm status 명령을 탐색하여 활성 프로파일, 적용된 튜닝 플러그인, 경고 또는 오류를 포함하는 보다 자세한 상태 보고서를 얻었습니다. 이를 통해 tuned 데몬의 구성 및 작동에 대한 포괄적인 개요를 제공합니다.