Ubuntu 16.04가 포함 된 Asus ZenBook Pro의 성능이 크게 저하되었습니다 이러한 실험은 종종

배경

나는 최근에 Asus ZenBook Pro를 샀다 . 로컬에서 딥 러닝 실험을 테스트하는 데 사용합니다. 이러한 실험은 종종 CPU와 GPU 모두에서 매우 강렬한 계산을합니다. 최근에 계산량이 많을 때 성능이 크게 저하되었습니다.

Ubuntu 16.04가 설치되어 있습니다.

문제

문제는 예를 들어 TensorFlow, Keras를 사용하거나 ROS 또는 Python에서 CPU 및 GPU 작업을 실행하는 훈련 작업을 예약 할 때 발생합니다. 약 30-60 초의 예상 성능 (예 : 우수한 성능)이 갑자기 성능이 저하되고 전체 컴퓨터가 거의 응답하지 않게됩니다. 기능을 복구하려면 완전히 재부팅해야합니다.

사용 top, nvidia-smi또는 시스템의 시스템 모니터는 내가 CPU 나 메모리의 프로세서 사용의 급격한 스파이크를 볼 수 없습니다. 다른 프로세스는 CPU 또는 GPU를 사용하기 시작하지 않습니다.

무응답 상태에있을 때 눈에 띄는 양의 처리 능력을 사용하는 프로세서가 없습니다.

팬이 때때로 통제 할 수없는 행동을 취하고 있기 때문에 우분투의 전원 관리가 문제를 일으키는 것으로 의심되지만 Linux 전문가는 아닙니다. 그러나 Ubuntu를 설치할 때 acpi=off도움 이 된다면 초기 부팅을 수행 해야했습니다.

편집 : Ubuntu 16.04가 설치된 다른 컴퓨터에서 동일한 코드를 테스트했으며 여기에 문제가 없습니다.

문제를 찾거나 내가 조사 할 수있는 곳으로 안내하는 데 도움을 주셔서 감사합니다.



답변

nvidia 드라이버에 문제가있을 수 있습니다. nvidia 웹 사이트를 통해 .RUN을 다운로드 할 수 있습니까? 장치 관리자를 통해 사용할 수 있어야하며, 인터넷 검색을 통해 드라이버를 설치하기위한 안내서를 쉽게 찾을 수 있습니다.

내 개인적인 제안은 리눅스 배포 저장소의 독점적 인 nvidia 드라이버를 사용하는 것입니다. 이것은 오픈 소스 드라이버 nouveau가 잘 작동하기 때문에 필요하지만 성능 (및 귀하의 경우) nouveau는 최고의 솔루션이 아닙니다. 또한이 경우 제조업체 사이트에서 다운로드하는 것이 가장 좋은 해결책은 아닙니다. 왜냐하면 그들은 더 많은 성능을 제공하지만 더 많은 버그를 줄 수있는 일반적인 Linux 드라이버를 작성하기 때문입니다. 내가 당신에게 줄 수있는 또 다른 제안은 다른 버전의 드라이버를 테스트하는 것입니다.


답변

냉각이 충분하지 않으면 랩탑이 매우 뜨겁습니다. CPU는 최신 Intel I7이며, 가장 최신 (비용이 많이 드는) 고급 프로세서는 너무 뜨거워지면 녹는 현상을 피하고 항상 정상 속도로 돌아 가지 않기 위해 클럭 속도를 자동으로 줄입니다.

이 이론은 컴퓨터에 과부하가 걸린 경우에만 문제가 발생한다는 사실을 뒷받침합니다. CPU, GPU 또는 둘 모두의 문제 일 수 있습니다.

CPU 및 GPU 온도 표시기를 추가하는 것이 좋습니다. 그래서 시각적으로 진화를 볼 수 있습니다. 다음이 도움이 될 수 있습니다.

문제가 실제로 과열 된 경우 수행 할 수있는 몇 가지 단계가 있습니다.

  • 냉각 패드는 상황을 개선 할 수 있습니다
  • 모든 공기 통로가 깨끗해야합니다.
  • 먼지가 많은 환경에서는 내부 청소가 도움이 될 수 있습니다
  • 컴퓨터의 보증 기간이 남아 있으면 사용하십시오
  • 보증이 적용되지 않는 경우 CPU의 열전도 페이스트를 교체해야 할 수 있습니다
  • 냉각 팬이 부족할 수 있습니다

답변

CPU가 과열되었을 수 있습니다. 시스템이 기본적으로 응답하지 않는 경우, 온도, 클럭 속도 및 기타 매개 변수를 모니터하고 디스크에 쓰는 방법을 설정해야 재부팅하므로 사후 정보를 얻을 수 있습니다.

아래와 같은 스크립트를 사용하면 팬 속도, 다양한 온도 및 CPU 클럭 주파수를 확인할 수 있습니다. 이것은 당신에게 무슨 일이 일어나고 있는지 알아 내기에 충분한 정보를 줄 것입니다. 어두운 곳에서 촬영 한 것이있을 수 있습니다 (목표에 있지 않다는 의미는 아닙니다).

sed, grep및 / 또는 을 사용하여 더 멋진 출력 형식을 얻을 수 있습니다 awk(여기 참조). 수집 할 수있는 다른 정보도 있지만 (아래 참조) 충분하다고 생각합니다.

이것은 희망적으로 문제를 찾는 데 도움이 될 것입니다 (질문!) … 지금, 해결책에 관해서는 다른 질문의 가치가 있습니다.


다양한 매개 변수를 모니터링하기위한 스크립트

#!/bin/bash

echo -n "" > monitor.log
while true ; do
    echo "$(date +"%H:%M:%S")" >> monitor.log
    sensors | sed 's/^/    /' >> monitor.log
    cat /proc/cpuinfo | grep '\(processor\)\|\(cpu\ MHz\)' | sed 's/^/    /' >> monitor.log
    echo "" >> monitor.log
    # Write output every 2 seconds
    sleep 2
done


센서 등에서 출력 형식을 지정하는 방법에 대한 참조

https://unix.stackexchange.com/questions/79060/personalize-sensors-output-and-save-it-to-file


다른 정보에 대한 참조.

https://askubuntu.com/questions/450045/show-cpu-usage-using-a-command


답변