튜닝 시스템 성능

튜닝 시스템 성능

여기에 이미지 설명을 삽입하세요.

튜닝 구성 파일 조정

시스템 튜닝

관리자는 장치 설정을 조정하여 여러 사용 사례 작업 부하에 따라 시스템 성능을 최적화할 수 있습니다. tuned 데몬은 특정 작업 부하 요구 사항을 반영하는 튜닝 프로필을 사용하여 동적으로/정적으로 튜닝됩니다.

정적 튜닝 구성

tuned 데몬은 서비스가 시작되거나 새 튜닝 프로필이 선택될 때 시스템 설정을 적용합니다. 정적 튜닝은 런타임 시 tuned에 의해 적용되는 구성 파일에 사전 정의된 커널 매개변수를 구성합니다.

동적 조정 구성

Tuned는 시스템 활동을 모니터링하고 작동 동작의 변화에 ​​따라 설정을 조정합니다.

[root@workstation ~]# yum install tuned -y

[root@workstation ~]# systemctl enable --now tuned
[root@workstation ~]# systemctl status tuned
● tuned.service - Dynamic System Tuning Daemon
   Loaded: loaded (/usr/lib/systemd/system/tuned.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2023-07-19 10:03:01 EDT; 1min 0s ago
     Docs: man:tuned(8)
           man:tuned.conf(5)
           man:tuned-adm(8)
 Main PID: 7507 (tuned)
   CGroup: /system.slice/tuned.service
           └─7507 /usr/bin/python2 -Es /usr/sbin/tuned -l -P

Jul 19 10:03:00 workstation systemd[1]: Starting Dynamic System Tuning Daemon...
Jul 19 10:03:01 workstation systemd[1]: Started Dynamic System Tuning Daemon.

튜닝 프로필 선택

Tuned는 다음에 대한 구성 파일을 제공합니다.

  • 효율적인 에너지
  • 성능

성능 향상 구성 파일:

  • 스토리지/네트워크 짧은 대기 시간
  • 스토리지/네트워크 높은 처리량
  • 가상 머신 성능

tuned-adm은 tuned 데몬 설정을 변경하는 데 사용됩니다.

#确定当前活动调优的配置文件
[root@workstation ~]# tuned-adm active
Current active profile: virtual-guest
#列出可用配置文件

[root@workstation ~]# tuned-adm list
Available profiles:
- balanced                    - General non-specialized tuned profile
- desktop                     - Optimize for the desktop use-case
- hpc-compute                 - Optimize for HPC compute workloads
- latency-performance         - Optimize for deterministic performance at the cost of increased power consumption
- network-latency             - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
- network-throughput          - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
- powersave                   - Optimize for low power consumption
- throughput-performance      - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
- virtual-guest               - Optimize for running inside a virtual guest
- virtual-host                - Optimize for running KVM guests
Current active profile: virtual-guest

#切换活动配置文件为更符合系统调优要求的其他配置文件
[root@workstation ~]# tuned-adm profile throughput-performance
[root@workstation ~]# tuned-adm active
Current active profile: throughput-performance
#为系统推荐调优配置文件
[root@workstation ~]# tuned-adm recommend
virtual-guest
#回复当前配置文件所作设置更改


[root@workstation ~]# tuned-adm off
[root@workstation ~]# tuned-adm active
No current active profile.

프로세스 진행에 영향을 미침

상대적 우선순위

프로세스마다 중요성이 다릅니다. 프로세스 스케줄러는 다양한 프로세스에 대해 다양한 예약 정책을 사용하도록 구성할 수 있습니다. 기존 시스템에서 실행되는 대부분의 프로세스에 대한 스케줄링 정책을 SCHED_OTHER라고 합니다.

모든 프로세스가 똑같이 중요하지는 않기 때문에 프로세스 좋은 값이라는 정책을 통해 우선순위를 설정할 수 있습니다. 모든 프로세스에 대해 40가지 수준의 좋은 값으로 구성할 수 있습니다.

Nice 수준 값의 범위는 -20(최고)부터 19(최저)까지입니다. 기본적으로 프로세스는 상위 프로세스의 nice 수준(보통 0)을 상속합니다. nice 수준이 높을수록 우선순위는 낮아집니다.

좋은 수준 및 권한 설정

CPU를 많이 사용하는 프로세스에 대해 낮은 nice 수준을 설정하면 동일한 시스템에서 실행되는 다른 프로세스의 성능에 부정적인 영향을 미칠 수 있습니다. 루트 사용자만 nice 수준을 낮출 수 있습니다.

Tasks: 101 total,   1 running, 100 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   995896 total,   605916 free,   134648 used,   255332 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   678000 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  7893 root      20   0  161880   2192   1556 R  0.7  0.2   0:00.11 top
  7703 root      20   0       0      0      0 S  0.3  0.0   0:02.34 kworker/0:0
     1 root      20   0  128152   6708   4176 S  0.0  0.7   0:01.66 systemd
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd
     3 root      20   0       0      0      0 S  0.0  0.0   0:00.20 ksoftirqd/0
     5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
     6 root      20   0       0      0      0 S  0.0  0.0   0:00.42 kworker/u256:0

top 명령은 프로세스를 대화형으로 보고 관리할 수 있습니다. 기본 구성에는 nice 레벨과 우선순위라는 두 개의 열이 표시됩니다. NI는 프로세스의 nice 값을 표시하고 PR은 스케줄링 우선순위를 표시합니다.

좋은 가치를 보여주세요


[root@workstation ~]# ps axo pid,comm,nice,cls --sort=-nice
   PID COMMAND          NI CLS
    32 khugepaged       19  TS
    31 ksmd              5  TS
     1 systemd           0  TS
     2 kthreadd          0  TS
     3 ksoftirqd/0       0  TS
     6 kworker/u256:0    0  TS
     7 migration/0       -  FF
     8 rcu_bh            0  TS
     9 rcu_sched         0  TS
    11 watchdog/0        -  FF
    13 kdevtmpfs         0  TS
    15 khungtaskd        0  TS

다양한 Nice 레벨로 프로세스 시작

#开启一个后台作业
[root@workstation ~]# sha1sum /dev/zero &
[1] 7897
#新进程nice值从0继承(shell进程ni值为0,是作业的父进程)
[root@workstation ~]# ps -o pid,comm,nice 7897
   PID COMMAND          NI
  7897 sha1sum           0

[root@workstation ~]# nice -n 15 top&
[1] 7940
#更改nice值
[root@workstation ~]# ps -o pid,comm,nice 7940
   PID COMMAND          NI
  7940 top              15
[root@workstation ~]# renice -n 19 7940
7940 (process ID) old priority 15, new priority 19

추천

출처blog.csdn.net/weixin_51882166/article/details/131867637