본문 바로가기
리눅스

CPU benchmarking utility for Debian

by 다움위키 2023. 12. 19.

새로운 시스템을 구성하면, 성능을 점검해 보고 싶은 것은 인지상정일 것입니다. 윈도우 플랫폼과 다르게 데비안에서는 다양한 도구들이 존재하지는 않는 것으로 보입니다.

이 기사는 간단히 시스템 성능을 점검해볼 수 있는 몇 개의 도구를 소개합니다.

GtkStressTesting

Flatpak 아래에서 설치할 수 있습니다. 또는 아래의 과정을 통해 설치할 수 있습니다:

Clone project and install

이전에 컴파일한 적이 없으면 아래와 같이 설치할 수 있습니다:

git clone --recurse-submodules -j4 https://gitlab.com/leinardi/gst.git
cd gst
git checkout release
pip3 install -r requirements.txt
meson . build --prefix /usr/local
ninja -v -C build
sudo ninja -v -C build install

메모리를 읽어 오려면, 루트 권한이 필요할 수 있고, 이때, 다음 패키지를 설치해야 합니다:

  • sudo apt install python3-peewee python3-rx python3-injector python3-humanfriendly

Update old installation

cd gst
git fetch
git checkout release
git reset --hard origin/release
git submodule init
git submodule update
pip3 install -r requirements.txt
meson . build --prefix /usr/local
ninja -v -C build
sudo ninja -v -C build install

제거할 때에는

  • sudo ninja -v -C build uninstall

Sysbench

다음과 같이 설치합니다.

  • sudo apt install sysbench

벤치마크는 다음과 같이 실행합니다.

  • sysbench cpu run
sysbench 1.0.11 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:  1774.12

General statistics:
    total time:                          10.0005s
    total number of events:              17747

Latency (ms):
         min:                                  0.56
         avg:                                  0.56
         max:                                  1.51
         95th percentile:                      0.57
         sum:                               9997.42

Threads fairness:
    events (avg/stddev):           17747.0000/0.00
    execution time (avg/stddev):   9.9974/0.00

쓰레드 개수를 지정하고 싶다면, 다음과 같이 실행합니다.

  • sysbench cpu --threads=16 run
sysbench 1.0.11 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 16
Initializing random number generator from current time


Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second: 14952.24

General statistics:
    total time:                          10.0010s
    total number of events:              149553

Latency (ms):
         min:                                  0.56
         avg:                                  1.07
         max:                                 21.62
         95th percentile:                      1.10
         sum:                             159969.03

Threads fairness:
    events (avg/stddev):           9347.0625/551.25
    execution time (avg/stddev):   9.9981/0.00
  • sysbench cpu --threads=16 --cpu-max-prime=100000 run
sysbench 1.0.11 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 16
Initializing random number generator from current time


Prime numbers limit: 100000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:   573.59

General statistics:
    total time:                          10.0235s
    total number of events:              5750

Latency (ms):
         min:                                 14.15
         avg:                                 27.86
         max:                                202.65
         95th percentile:                     37.56
         sum:                             160223.16

Threads fairness:
    events (avg/stddev):           359.3750/8.92
    execution time (avg/stddev):   10.0139/0.01

커널 컴파일

라이젠 1700

  • 오버클럭: CPU 배수 36.5, 메모리 배수 29.33

Ubuntu on Ryzen CPU에 따라, 16 스레드로 커널 컴파일을 수행하면, 커널 5.4, 5,5, 5.6-rc에서 부하에 따라, 대체로 16분 안팎의 시간이 걸립니다.

라이젠 3900x

  • 오버클럭: 메모리 배수 29.33

24 쓰레드로 커널 5.4, 5.5, 5.6-rc를 컴파일할 때, 7분 40초 안팎의 시간이 걸리고, PBO를 켜니, 7분 30초 정도가 나옵니다.