내 컴퓨터에는 GUI가 죽을 때까지 거의 사용할 수 없게 만들고 매우 엉성하게 만드는 문제가 있었습니다.
나는 분석 결과 이것이 캐시/버퍼로 인해 너무 많은 스왑이 발생했기 때문에 발생했다고 결론지었습니다. 이러한 설정을 세부적으로 조정할 수 있는 방법이 있나요?
사용 사례: SSD가 아닌 하드 드라이브에서 대량의 데이터를 읽거나 쓰기만 하면 됩니다. dd
또는 f3read
/ 를 사용한다고 가정합니다 f3write
. 약 1분 후에 캐시나 버퍼가 너무 커지면 Linux는 대량 교체를 시작합니다.
이 atop
코드 조각에서는 PAG 줄에서 이를 볼 수 있습니다.
MEM | tot 15.5G | free 3.5G | cache 7.8G | buff 96.1M | slab 394.5M | vmbal 0.0M | hptot 0.0M |
SWP | tot 1.0G | free 634.7M | | | | vmcom 8.5G | vmlim 8.8G |
PAG | scan 156637 | steal 156616 | stall 0 | | | swin 0 | swout 11814 |
PSI | cs 0/0/2 | ms 5/2/2 | mf 5/2/1 | is 50/24/15 | if 50/24/15 | | |
DSK | sdb | busy 56% | read 61 | write 1312 | MBr/s 0.0 | MBw/s 147.8 | avio 3.95 ms |
DSK | sda | busy 24% | read 100 | write 11803 | MBr/s 0.2 | MBw/s 4.6 | avio 0.20 ms |
이 필드의 의미를 완전히 이해하지 못합니다. 하지만 노트북에서도 똑같이 시도했습니다. SWOUT
통계가 훨씬 낮고 시스템이 영향을 받지 않는다는 점을 제외하면 모든 것이 유사합니다 .
두 시스템 모두에 Ubuntu 19.10 커널 5.3.0-19-generic이 있습니다. 스왑은 SSD에 있습니다. SSD 데이터 에 따르면 atop
사용량은 20%~50%이며 주로 스와핑으로 인해 발생합니다.
60에서 10으로 설정하려고 시도했지만 /proc/sys/vm/swappiness
도움이 되지 않았습니다. 100에서 50으로 설정 했지만 vfs_cache_pressure
그것도 도움이 되지 않았습니다.
그 이유가 다른 곳에 있을 수 있을까요? SATA 문제가 있었는데 지금쯤 해결되어야 합니다. 한 번(인텔에서) 이런 일이 발생했는데 GPU HANG
교체 문제로 인해 발생한 것 같습니다...
이 문제를 보기 시작했을 때(철저하게 분석하기 전에) 항상 문제가 발생했기 때문에 스왑(이전에는 없었던)을 추가했습니다 kswapd
. 스왑을 추가하면 최소한 kswapd가 CPU의 100%를 차지하는 것을 방지할 수 있습니다.
어떤 아이디어가 있나요?
답변1
해결 방법을 찾았습니다. 커널 4를 사용하세요.
Ubuntu 19.10 Eoan에서 이는 저장소에서 사용할 수 있는 유일한 4.x 커널인 linux-image-4.15.0-1050-oem 커널을 설치하는 것을 의미합니다. 19.4 이전 커널을 사용해 보았지만 Ubuntu 19.10에서는 작동하지 않습니다.
실제 원인을 찾아보고, 발견되면 여기에 해결 방법을 게시하겠습니다.
그때까지는 이것이 가능한 방향이 될 수 있다고 생각합니다. https://bugs.freedesktop.org/show_bug.cgi?id=111790