Linux에서 예측할 수없는 대규모 I / O 성능 저하


11

~ 6 년 동안 아무 문제없이 데비안 테스트를 사용하고 있습니다 (정기적으로 업데이트하고 있습니다). 그러나 최근에는 "재부팅 할 때까지 지속되는 낮은 I / O 성능"으로 요약 될 수있는 임의의 동작을 보여주기 시작했습니다.

문제는 갑자기 모든 디스크 읽기 및 쓰기가 ~ 5MB / 초로 느려져서 연속적인 읽기 및 쓰기가 발생한다는 것입니다. 속도가 너무 낮기 때문에 디스크에 기계적 문제가 발생하거나 스트레스를받지 않지만 재부팅 할 때까지 모든 속도가 느려집니다.

컴퓨터의 I / O 하위 시스템은 1 개의 OCZ Vertex 3 SSD와 2 개의 WD Caviar Black HDD로 구성됩니다. SSD는 OS의 읽기가 많은 부분을 보유하고 HDD의 파티션은 나머지를 보유합니다.

문제를 진단하기 위해 성공하지 않고 다음을 시도했습니다.

  • top CPU 또는 I / O 사용량에서 런 어웨이 활동을 표시하지 않습니다.
  • hdparm디스크의 정상적인 성능 등급을 반환합니다 (단지 확인했습니다 -t).
  • smartctl디스크에 성능 문제가 표시되지 않습니다. 긴 테스트 결과 디스크가 새로운 디스크만큼 우수하다는 것이 밝혀졌습니다.

시스템에 Z77 칩셋, 16GB RAM 및 Intel i7 3770K CPU가 있으며 통계에 RAM, I / O 또는 CPU의 포화 징후가 나타나지 않지만 이와 같은 문제는 커널 경험이 부족합니다. 도움을 주시면 감사하겠습니다.

업데이트 1 :

  • 예방 조치로 모든 파티션에서 fsck를 실행했습니다. 모든 FS가 깨끗합니다.
  • 우연히 한 달 전에 나온 BIOS 업그레이드를 발견하여 적용했습니다.
  • 파티션이 50 % 이상 채워지지 않았습니다.

업데이트 2 :

이틀 동안 문제가 발생하지 않습니다. 하나 fsck또는 BIOS 업데이트는 시스템의 일부 나막신을 청소. 나는 여전히 문제를 모니터링하고 있으며 사후 답변으로 질문을 닫을 것입니다.

업데이트 3 :

문제는 방금 재 포장되었고 좀 더 파고 들었습니다. 답을 참조하십시오.


1
조각화 문제 atop는 디스크가 얼마나 바쁜지 알려줍니다 (항상 탐색 할 때).
Stéphane Chazelas

1
몇 가지 단점을 배제하려면 NCQ를 비활성화하고 I / O 스케줄러를로 설정하십시오 noop.
frostschutz

1
"재부팅 할 때까지 지속되는 낮은 I / O 성능"은 너무 자주 버스를 점유하는 고장 / 버기 장치 일 수 있으며, 이는 하드웨어 스왑 부족을 진단하기가 엄청나게 어렵습니다.
msw

1
그런 다음 lsit에서 확인해야 할 다음은 로그에 오류가 있는지 확인 하고 버퍼 / 캐시에 할당 된 메모리가 충분한 지 확인하는 것입니다 (출력 참조 free)
symcbean

1
iowaitsar 데이터를 수집하는 경우 등 을 볼 수 있습니다 . sysstat아직 실행되고 있지 않으면 활성화 합니다. sar -A대부분의 플랫폼에서 샘플 간격이 10 분인지 확인할 수 있습니다 .
Bratchley

답변:


12

나는 문제를 다시 재현 할 수 있었고 그것은 큰 디스크 캐시의 결과였습니다. 내 디스크 캐시가 8GB 이상으로 증가 할 수 있으며 일부 응용 프로그램은이를 좋아하지 않아 I / O에 문제가있는 것 같습니다.

echo 3 > /proc/sys/vm/drop_caches루트로 디스크 캐시를 삭제 하면 문제가 해결됩니다. 현재 큰 디스크 캐시로 인해 I / O 성능이 저하되는 이유를 모르겠습니다.

마지막 업데이트 : 더 많은 조사를 한 결과 캐시의 파일 수가 문제를 일으키는 것으로 나타났습니다. 많은 작은 파일을 디스크에 다시 커밋하려고 시도하는 동안 디스크를 휴지통에 버렸습니다. 10 년 동안 시스템을 사용하고 있었기 때문에 급락하여 64 비트 데비안으로 다시 설치했습니다. 이제 원활하게 작동합니다. 32 비트 운영 체제의 한계를 찾아 10 년 동안 업그레이드 한 결과 부작용이 있었을 것입니다.


2

에 의심스러운 메시지가 dmesg있습니까?

시스템 병목 현상에 대한 통찰력을 얻을 수있는 몇 가지 도구

  • dstat
  • 지연 시간
  • sysprof

어떤 로그에서도 의심스러운 것은 없습니다. TBH이 문제와 관련된 로그 항목이 없습니다. 그럼에도 불구하고 도구를 사용해 볼 것입니다. 아무것도 사용하지 않고 유휴 상태로 앉아있는 동안 고급 PC에는 병목 현상이 없어야합니다. 캐시 또는 I / O 하위 시스템과 관련된 것이 잘못되었다고 생각합니다.
bayindirh

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