내 컴퓨터가 멈춘 것을 어떻게 알 수 있습니까?


10

이 머신에서 아치를 실행하고 있습니다 :

3.40GHz i7 헥사 코어 (4930K)

16GB DDR3 1600MHz RAM

Raid0에 2xSamsung 840 EVO SSD (BTRFS RAID 사용)

몇 개의 VM (2 또는 3)으로 아치에서 VMware를 실행하여 각각 약 2-4 개의 코어와 각각 2GB의 RAM을 제공하면 시스템이 무작위로 정지되기 시작합니다. 몇 분마다 시스템이 10 초에서 30 초까지 정지 한 다음 다시 이동하기 시작합니다. VM을 종료 할 때까지 30 초 후에 정지합니다. 시스템이 정지해도 마우스는 여전히 잘 움직이지만 응용 프로그램은 호스트에서 응답하지 않습니다-vmware가 응답하지 않고 firefox (호스트에서도 열려 있음)가 응답하지 않습니다.

정지가 발생하면 프로세스 모니터를 실행하면 vmware에서 최대 수의 코어를 표시하지만 동시에 사용되지 않는 다른 코어가 있습니다. 또한 RAM이 충분합니다. VM은 총 6GB를 사용하고 호스트에는 10GB가 남아 있습니다. 스왑 공간이 0이므로 스와핑으로 인해 속도가 느려지는 방법이 없습니다.

btrfs로 인해 파일 시스템 수준에서 파일 조각화가 발생하므로 가상 시스템이 느리게 실행될 수 있다는보고가 있습니다. 그러나 내가 알 수있는 한, 조각화는 전통적인 하드 디스크에서만 문제가됩니다. SSD에는 원하는 읽기 헤드가 없으므로 파일이 많이 조각화되어 있는지는 신경 쓰지 않습니다.

데비안 7을 실행할 때 이런 일이 발생하지 않았기 때문에 하드웨어 문제가 아니라고 확신합니다.

시스템이 정지되는 이유를 파악하기 위해 어떤 도구를 실행할 수 있습니까? top / htop과 iotop을 시도했습니다 (시스템이 정지 될 때 아무것도 쓰거나 읽지 않습니다). btrfs가 어떤 것을 쓰거나 읽는 데 문제가 있는지 알기 위해 어떤 종류의 활동 모니터가없는 것으로 보입니다. 내가 시도 할 수있는 다른 것이 있습니까?


그것은 LUKS와 관련된 사용과 관련이있을 수 있습니다 : unix.stackexchange.com/questions/203677/…
brauliobo

답변:


15

btrfs gotchas 페이지에서 :

임의 쓰기가 많은 파일은 HDD 조각화 및 SSD 또는 대용량 RAM이있는 시스템에서 CPU로드가 과도하게 급격히 증가 할 수 있습니다.

  • 서버 및 워크 스테이션에서 이는 데이터베이스 및 가상 머신 이미지에 영향을줍니다.

    • nodatacow 마운트 옵션은 관련된 문제와 함께 여기서 사용할 수 있습니다.

    ...

  • 증상에는 btrfs-transacti 및 btrfs-endio-wri가 많은 CPU 시간을 소비합니다 (스파이크, 동기화에 의해 트리거 될 수 있음). filefrag를 사용하여 크게 조각난 파일을 찾을 수 있습니다 (압축시 제대로 작동하지 않을 수 있음).

Virtualbox와 관련하여 비슷한 문제가있었습니다. nodatacowbtrfs를위한 옵션은 내 시스템에 띄는 방법으로 도움이되지 않았다. 자동 조각 모음 옵션 (데스크톱 환경의 응용 프로그램 데이터베이스에 가능한 솔루션이라고도 함)을 시도했지만 결과를 허용하지 않는 결과가 없었습니다.

결국 나는 btrfs 부분과 그것이 존재하는 논리 볼륨을 축소하고, 새로운 LV를 생성하고 그것을 ext4로 포맷 한 다음, 그 "파티션"에 내가 가지고있는 VM 디스크 이미지를 넣었다.


분명히 내 문제처럼 들린다. 실제로 파일 조각화 방법을 확인하는 방법을 찾고 있었지만 조각화를 읽을 때 포기해도 HDD처럼 SSD에 영향을 미치지 않습니다. 분명히 내가 읽은 곳은 완전히 정확하지는 않았지만 여전히 SSD에 영향을 미칩니다. 매우 흥미 롭습니다. filefrag를 사용 해보고 btrfs 파티션의 크기를 조정하고 내 VM을 ext4 파티션으로 옮기고 다시보고하십시오. 감사합니다
Tal

0

커널 스레드 khugepaged 가 말 그대로 RAM을 마이닝하여 조각 모음을 수행하거나 4k 페이지에서 거대한 페이지를 생성 하는 투명한 거대한 페이지 문제 일 수 있습니다 .

커널은 상당히 많은 양의 시스템 RAM이 주어지면 거대한 페이지를 활성화하기로 결정할 수 있습니다.

이 두 커널 튜너 블의 내용을 확인하십시오.

/sys/kernel/mm/transparent_hugepage/enabled
/sys/kernel/mm/transparent_hugepage/defrag

내용이 always인 경우 에서 변경하여 neverCPU 스파이크 / 동결이 사라지는 지 확인할 수 있습니다 .


문제는 쓰기 지연에 있으며 CPU 사용과 관련이 없음
brauliobo

0

이 문제는 파티션에서 LUKS를 사용하지 않음으로써 완전히 해결되었습니다. 그래서 먼저 LUKS가 아닌 BTRFS로 직접 파티션을 포맷했습니다.

또한 다음 매개 변수와 함께 마운트됩니다.

/dev/sda2 /           btrfs       rw,noatime,space_cache,compress=lzo,ssd,discard,autodefrag,commit=0,thread_pool=8 0 0

관련 심해 일반 dm-crypt와 (LUKS) 쓰기 성능

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.