상세 컨텐츠

본문 제목

[linux] guider - memory, io, cpu test tool

Linux

by 힐둔 2021. 9. 29. 11:54

본문

 

linux machine 테스트가 필요해서 찾아보니 guider라는 python으로 작성된 tool이 있어서 적어보기로 한다. integrated performance analyzer 이며, 성능 데이터 취득, 분석 그리고 테스트와 검증까지 할 수 있다고 한다. 지원하는 기능은 Monitoring / Profiling / Tracing / Visualization / Control / Logging / Networking / Test / Util 이며, AArch64 / ARM / x86 Architecture를 지원하며 Ubuntu 이외에도 android / webOS / Tizen / Window (limited) / Mac (limited) 등의 다양한 플랫폼을 지원하고 있다.

 

상세 페이지는 아래와 같으며 github에서 소스도 받아 볼 수 있다. 

https://github.com/iipeace/guider

 

다양한 기능 중에서도 Test를 목적으로 하는 바, 지원하는 test를 적어보면 아래와 같다.

 

 


memtest (memory leak test 가능) 

사용법 :  # guider.py memtest <SIZE:INTERVAL:COUNT> [OPTIONS] [--help]
Description : 메모리 할당

Options:
    -R  <TIME>             set timer
    -v                               verbose

Examples:
    -  1G 메모리 할당
        # guider.py memtest 1G

    - 3초마다 새로운 Proces를 만들고, 메모리 200MB 할당
        # guider.py memtest 200M:3

    - 두 개의 프로세스를 이용해서 두번 100MB 메모리 할당
        # guider.py memtest 100M:0:2

    - 두 개의 프로세스를 이용해서 두번 100MB 메모리 할당 하고 3초 후에 종료
        # guider.py memtest 100M:0:2 -R 3


iotest


사용법 : # guider.py iotest -g <OP:PATH> [OPTIONS] [--help]

Description: I/O 연산 수행


Options:
    -g  <OP:PATH>               set path
    -i  <TIME>                         set timer
    -R  <COUNT>                   set repeat count
    -q  <NAME{:VALUE}>     set environment variables
    -v                                          verbose

Examples:
    - 현재 마운트 된 지점의 모든 파일을 읽음
        # guider.py iotest

    - 현재 디렉토리의 모든 파일을 recuisive 하게 읽음
        # guider.py iotest .
        # guider.py iotest -g .

    - 3초마다 현재 디렉토리의 모든 파일들을 읽음
        # guider.py iotest . -i 3
        # guider.py iotest -g . -i 3

    - 특정 파일 (아래는 TEST)을 다섯번 읽음
        # guider.py iotest read:TEST -R 5

    - 마운트 된 모든 node들을 읽음
        # guider.py iotest -a

    -  시스템 캐시를 지운 후 마운트된 모든 장치 노드를 읽음
        # guider.py iotest -a -q DROPCACHE

    - 특정 파일에 더미 데이터를 무한 쓰기
        # guider.py iotest write:TEST
        # guider.py iotest -g write:TEST

    - 특정 파일에 100MB의 더미 데이터 쓰기
        # guider.py iotest write:TEST:100m
        # guider.py iotest -g write:TEST:100m

 


cputest

사용법 : # guider.py cputest <LOAD:NRTASK> [OPTIONS] [--help]
Description: Task 생성

Options:
    -R  <TIME>                               set timer
    -Y  <POLICY:PRIO|TIME       set sched
         {:TID|COMM:CONT}>
    -v                                                  verbose

Examples:
    - CPU를 각각 5% 정도 사용하여 10개의 프로세스를 생성
        # guider.py cputest 50:10

    - 250% CPU를 사용하여 프로세스생성
        # guider.py cputest 250

    - 250% CPU를 사용하여 쓰레드 생성
        # guider.py cputest 250 -et

    - RR 1 우선 순위로 250% CPU를 사용하여 프로세스 생성

        # guider.py cputest 250 -Y r:1

    - 250% CPU를 사용하여 프로세스를 만들고 CPU 1에서만 실행
        # guider.py cputest 250 -z :1

    - 250% CPU를 사용하여 프로세스를 생성하고 3초 후에 종료
        # guider.py cputest 250 -R 3

관련글 더보기

댓글 영역