![디스크에 병목 현상이 발생했습니다. 백그라운드 프로세스는 상황을 더욱 악화시킵니다. 응답성을 향상시키는 방법은 무엇입니까?](https://linux55.com/image/58895/%EB%94%94%EC%8A%A4%ED%81%AC%EC%97%90%20%EB%B3%91%EB%AA%A9%20%ED%98%84%EC%83%81%EC%9D%B4%20%EB%B0%9C%EC%83%9D%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9C%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%8A%94%20%EC%83%81%ED%99%A9%EC%9D%84%20%EB%8D%94%EC%9A%B1%20%EC%95%85%ED%99%94%EC%8B%9C%ED%82%B5%EB%8B%88%EB%8B%A4.%20%EC%9D%91%EB%8B%B5%EC%84%B1%EC%9D%84%20%ED%96%A5%EC%83%81%EC%8B%9C%ED%82%A4%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
일반적으로 내 노트북의 병목 현상은 디스크입니다. 디스크 집약적인 계산을 수행할 때 자동으로 시작된 백그라운드 프로세스 updatedb
등 이 find /something
시작되어 상황이 더욱 악화됩니다. 그들은 다음과 같이 설정됩니다.좋아요, 하지만 CPU가 문제가 아니라 I/O가 문제이기 때문에 도움이 되지 않습니다.
질문: 문제를 완화하는 방법(수동으로 종료하는 것 외에) 및 더 일반적으로는 유사한 메커니즘이 있습니까?좋아요, 하지만 I/O를 고려하시나요?
보다 일반적으로 Linux(Ubuntu 14.04) 시스템의 I/O 응답성을 향상시키는 방법은 무엇입니까? 현재 애플리케이션이 최대 디스크 사용량에 도달하면 시스템이 매우 느리게 반응합니다. 예를 들어 Firefox에서 웹 페이지를 여는 데 시간이 오래 걸립니다(시스템을 교체하지 않더라도 시스템을 교체하면 상태가 더 나빠집니다). Swappiness는 0으로 설정됩니다. 이는 중요합니다.
답변1
- 아이오니스를 보셨나요?
- 이러한 프로그램이 페이지 캐시를 더럽히는 것을 원하지 않는다는 것을 운영 체제에 알리기 위해 posix fadvise를 사용하여 업데이트된b/find를 실행해야 할 수도 있습니다. 이렇게 하면 캐시된 디스크 I/O가 메모리에 유지됩니다.
- 실행되지 않는 시간을 계산하기 위해 이러한 백그라운드 프로세스를 푸시하도록 cron 작업을 다시 설계할 수도 있습니다. 또한 cron 작업을 수정하여 시작하기 전에 먼저 디스크가 사용 중인지 확인할 수 있습니다(iostat -x에서 디스크가 사용 중이라고 표시되면 한 시간 동안 잠자기 상태로 다시 시도하세요).
- 노트북의 I/O는 끔찍할 수 있으며, 특히 노트북이 5400RPM으로 회전하는 경우 더욱 그렇습니다. 페이지 캐시를 활용할 수 있도록 메모리를 추가해 볼 수도 있습니다.
- Firefox 속도 저하는 실제로 흥미로운 문제입니다. 이전 직장에서는 이런 문제가 있었습니다. 내 기억이 맞다면 Linux는 I/O 페이지를 메모리에 캐시하는 것을 정말 좋아합니다. 심지어 프로그램 메모리(예: Firefox)를 교체하는 지점까지 갑니다. 따라서 Firefox를 시작하면 Linux는 공간을 확보하기 위해 다른 응용 프로그램을 교체해야 하며, Firefox에서 교체하고 요청을 이행해야 합니다.