profiling

마이크로벤치마킹에 어떤 도구를 사용할 수 있나요?
profiling

마이크로벤치마킹에 어떤 도구를 사용할 수 있나요?

C 프로그램의 마이크로벤치마킹에 어떤 도구를 사용해야 할지 잘 모르겠습니다. 나는 두 가지를 모두 측정하고 싶습니다. 메모리 사용량, RSS(상주 세트 크기) CPU 주기 나는 awk 스크립트를 사용 perf record -g하고 perf script파이프했습니다. 이는 메모리 사용량을 알아내는 데 도움이 되지만 CPU 주기 perf record는 샘플링을 통해 얻어지기 때문에 CPU 주기가 정확하지 않습니다 . perf stat정확하지만 분명히 각 기능에 대한 통계를 제공하지는 않습니다. per...

Admin

mmap I/O 대기 시간을 측정하는 방법은 무엇입니까?
profiling

mmap I/O 대기 시간을 측정하는 방법은 무엇입니까?

디스크 I/O가 많이 진행되는 동안 속도가 느려지거나 차단되는 것처럼 보이는 응용 프로그램이 있으므로 응용 프로그램의 I/O 작업이 차단되는 것으로 의심됩니다. 또 무엇이 잘못되었는지 상상할 수 없지만 확인하고 싶었습니다. 문제는 응용 프로그램이 주로 I/O에 mmap 파일을 사용하므로 mmap 메모리에서 I/O를 차단하는 것이 페이지 오류라는 것을 알지 못합니다 strace. 그런데 페이지 오류로 인해 스레드 실행이 일시 중지된 시간을 측정하는 방법이 있습니까? ...

Admin

하위 프로세스 불꽃 ​​그래프
profiling

하위 프로세스 불꽃 ​​그래프

하위 프로세스 실행에 대한 플레임 그래프를 제공할 수 있는 도구가 있습니까? 예를 들어, 실행하면 시작 및 종료 시간과 함께 make멋진 트리의 모든 호출이 표시됩니다 .gcc 내가 찾을 수 있는 가장 가까운 것은스누피그러나 구체적인 기능은 매우 불분명합니다. 또한 LD_PRELOAD100% 신뢰할 수 없는 차단 기술을 사용합니다 . (실제로 시각화가 생성되지는 않는다고 생각합니다.) ...

Admin

VisualVM과 같은 프로파일링 도구를 사용하여 Java 애플리케이션을 프로파일링할 수 있는 Linux 라이브러리/패키지가 있습니까?
profiling

VisualVM과 같은 프로파일링 도구를 사용하여 Java 애플리케이션을 프로파일링할 수 있는 Linux 라이브러리/패키지가 있습니까?

VisualVM이나 jconsole과 같은 프로파일링 도구에 연결하지 않고 Java 프로그램에서 실행하려면 현재 메서드가 실행되는 메서드나 소요 시간을 찾아야 합니다. Java 애플리케이션에 대한 내장 프로파일링을 제공하는 라이브러리가 Linux에 있습니까? ...

Admin

cgroup의 최대 RSS를 보고하는 방법은 무엇입니까?
profiling

cgroup의 최대 RSS를 보고하는 방법은 무엇입니까?

cgroup이 생성된 이후로 사용된 최대 RSS를 모니터링하고 싶습니다. "피크 RSS"란 합계가 가장 큰 시점의 모든 프로세스의 RSS 합계를 의미합니다. 나는 RSS+CACHE 보고를 믿고 있으며 , memory.max_usage_in_bytes내가 아는 한 "max_cache_in_bytes"."max_rss_in_bytes" 기본적으로: 나는 time -f %M. 누구든지 해결책을 알고 있습니까? ...

Admin

사용자 모드와 커널 모드에서 이루어진 가상 메모리 액세스를 분석하는 방법은 무엇입니까?
profiling

사용자 모드와 커널 모드에서 이루어진 가상 메모리 액세스를 분석하는 방법은 무엇입니까?

특정 프로그램을 실행한 결과로 사용자 모드와 커널 모드에서 수행된 모든 가상 메모리 액세스에 대한 로그를 생성하고 싶습니다. 메모리 액세스 위치를 수집하는 것 외에도 다른 상태 정보(예: 명령 포인터, 스레드 식별자)도 캡처하고 싶습니다. 기본 도구를 사용해도 원하는 통계를 모두 수집할 수 없을 것으로 예상됩니다. 이 분석을 오프라인으로 수행할 계획이므로 성능에 미치는 영향은 걱정하지 않습니다. 실제로 사용 가능한 항목에 따라 어떤 도구가 모든 메모리 액세스를 기록할 수 있는지, 어떤 도구가 샘플링만...

Admin

Strace는 시스템 호출이 총 실행 시간보다 훨씬 오래 걸리는 것을 보여줍니다. 왜?
profiling

Strace는 시스템 호출이 총 실행 시간보다 훨씬 오래 걸리는 것을 보여줍니다. 왜?

Tensorflow-gpu를 기반으로 인공지능 추론 프로그램을 실행하고 있습니다. 을 실행하면 /usr/bin/strace -c -f /usr/bin/time ./program다음과 같은 결과가 출력됩니다. <my program's output> 367.91user 1032.14system 26:43.41elapsed 87%CPU (0avgtext+0avgdata 4158812maxresident)k <----OUTPUT OF TIME 1760inputs+24outputs (0majo...

Admin

하위 프로세스에서 소요된 시간을 측정하는 방법은 무엇입니까?
profiling

하위 프로세스에서 소요된 시간을 측정하는 방법은 무엇입니까?

다른 명령을 여러 번 호출하는 명령(동기식)이 있습니다. 하위 명령에 소요된 총 시간을 얻는 방법이 있습니까? 즉, 다음과 같은 명령이 있습니까?시간하지만 어느 것이 하위 프로세스의 시간을 측정할 수도 있나요? 2021-02-01 편집: 명령에 대한 소스 코드가 없으므로 명령 내에서 시간을 측정할 수 없습니다. ...

Admin

벽시계 시간을 분석하는 방법은 무엇입니까?
profiling

벽시계 시간을 분석하는 방법은 무엇입니까?

내 프로그램에서 실시간 지속 시간은 때때로 CPU 시간의 최대 3배입니다. 이는 많은 메모리 할당과 NFS 기본 읽기/쓰기 작업을 수행하는 단일 스레드 애플리케이션입니다. 따라서 mem-swap이나 NFS 읽기 및 쓰기로 인해 속도가 느려지는 것으로 의심됩니다. 예를 들어, 다음의 출력은 다음과 같습니다./usr/bin/time a.out 2165.32user 64.93system 6036.33elapsed 실시간 분석 도구가 있나요? 나는 CPU 시간 분석을 위해 여러 도구를 알고 사용해 봤지만 ...

Admin

"perf"를 사용하여 벽시계 시간을 기준으로 스택 샘플을 얻는 방법
profiling

"perf"를 사용하여 벽시계 시간을 기준으로 스택 샘플을 얻는 방법

저는 Linux perf_events프레임워크를 사용하여 우리 서버 중 하나에 있는 애플리케이션의 문제를 조사하려고 합니다. perf도구에 대해 읽은 내용에 따르면 스택을 수집하는 것은 비교적 간단합니다. 단순히 N초마다 스택을 수집하는 이벤트로 벽 시간을 사용할 수 있는지 궁금합니다. 현재 사용하고 있는 명령은 다음과 같습니다. perf record -e cycles -T -o <dir>/samples.data -F 1 --call-graph dwarf -T -p <pid> ...

Admin

성능 로깅/보고를 사용한 고주파 성능 카운터 샘플링
profiling

성능 로깅/보고를 사용한 고주파 성능 카운터 샘플링

이 도구를 사용하여 높은 빈도(예: 100-200Hz)에서 성능 카운터 카운트를 검색하고 싶습니다 perf(예:https://github.com/RRZE-HPC/likwid/wiki/likwid-perfctr#the-timeline-mode그러나 더 자주). 이를 수행할 수 있는 방법이 있습니까? 그렇다면 perf record로깅 및 보고 결과를 사용할 때 어떤 플래그를 사용해야 합니까 perf report? sleep 5지금까지 실행 중 5ms 간격으로 r6d70 성능 카운터를 검색하기 위해 다음...

Admin

메트릭에 대한 Linux 명령 분석
profiling

메트릭에 대한 Linux 명령 분석

대용량 .gz 파일의 압축을 풀려고 합니다. 이 명령을 분석하여 명령이 실행되는 동안 CPU 사용률을 얻을 수 있는 방법이 있는지 알고 싶습니다. 나는 이런 것을 찾고 있어요 gunzip file.gz | profileTheCommand ...

Admin

Linux 시스템을 분석하여 속도 저하의 원인 찾기
profiling

Linux 시스템을 분석하여 속도 저하의 원인 찾기

나는 일상 업무에 (Fedora) Linux 상자를 사용하고 보통 매일 아침 부팅하므로 장기 실행 프로세스와 짧은 가동 시간에 대해 이야기하는 것이 아닙니다. 최근에 시스템 속도가 느려지고 있다는 것을 알았지만 문제를 정확히 찾아내는 데 어려움을 겪고 있습니다. 시스템이 잠시 중단될 수 있으며 SSH를 통해 로그인했는데 적어도 콘솔에서는 원활하게 실행되었습니다. top/htop을 실행해 보니 RAM이나 CPU를 많이 차지하는 프로세스가 없었지만 GUI가 여전히 응답하지 않거나 극도로 지연되는 것을 ...

Admin

프로파일링에 사용되는 Perf 도구가 과부하 시 충돌함
profiling

프로파일링에 사용되는 Perf 도구가 과부하 시 충돌함

로드 평균 중에 "perf Record -F 99 -g -p --sleep 300"을 사용하면 문제 없이 perf.data 파일을 얻을 수 있습니다. 하지만 부하가 높으면 충돌이 발생합니다. 좋은 결과를 얻는 유일한 방법은 빈도를 30 정도로 낮추는 것인데, 이는 끔찍한 일입니다. 이상적으로는 더 나은 결과를 얻으려면 속도가 더 높아야 합니다(~997 샘플/초). 이 문제를 해결할 방법이 있나요? 이 문제는 Linux 커널 공간과 관련이 있을 수 있다고 생각합니다. 그렇다면 이 문제를 해결하려면 ...

Admin