어떤 이유에서인지 일반적인 브라우저(Chromium은 특히 좋지 않지만 Firefox는 그다지 좋지 않음)는 Debian 시스템에 지속적인 IO 로드, 특히 쓰기 로드를 생성합니다. 이는 브라우저에 수행할 작업이 없는 경우에도 마찬가지입니다(예: 정적 웹 페이지를 읽고 있거나 백그라운드에서 최소화되어 있는 경우). chromium의 경우 "chromium[BrowserBlocking]" 하위 프로세스는 어떤 작업도 수행하지 않고 단 몇 초 동안 거의 300kb에 달하는 디스크 쓰기를 생성합니다. 저널링된 파일 시스템을 실행하므로 이러한 쓰기의 효과가 증폭됩니다.
특히 내 노트북에서는 매우 짜증나는 일입니다. Samsung 960 Pro는 APST(절전) 상태를 지원하지만 브라우저 프로세스에 의해 계속 깨어나기 때문에 실제로 깊은 절전 모드로 들어갈 수는 없습니다. 마찬가지로 CPU는 유휴 상태를 효율적으로 사용할 수 없습니다. 브라우저가 실행되고 있지 않을 때보다 브라우저가 실행 중일 때 배터리 수명이 훨씬 더 나쁩니다. 또한 최신 SSD가 문제가 되지 않더라도 이러한 불필요한 작업을 피하여 플래시 기판의 지속적이고 쓸모없는 성능 저하를 초래하는 것을 선호합니다.
브라우저는 어떤 값의 데이터도 처리하지 않으므로 여기서는 데이터 무결성이 문제가 되지 않습니다. 이상적으로는 파일 시스템이 마운트 해제되거나 시스템이 메모리 부족을 경험하기 시작할 때까지 크롬의 동기식 IO 요청을 무시하고 모든 쓰기 요청을 메모리에 캐시하도록 커널에 지시하고 싶습니다.
유휴 상태일 때 "pidstat -d 1 -C chromium"의 예:
05:05:09 PM 1000 30539 0.00 300.00 0.00 0 크롬 05:05:13 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay 명령 05:05:14 PM 1000 30539 0.00 28.00 0.00 0 크롬
05:05:14 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay 명령 05:05:15 PM 1000 30539 0.00 4.00 0.00 0 크롬
오후 05:05:22 1000 30539 0.00 212.00 0.00 0 크롬
이는 여러 브라우저에 공통적으로 나타나는 문제이므로 특정 브라우저에 대한 코드 수정은 피하고 싶습니다. 어떻게 해야 하나요?
답변1
여기서는 데이터 무결성이 문제가 되지 않습니다.
엄청난! 시험해 보세요내 데이터 먹어그중에는 "fsync 및 친구 비활성화"가 있습니다. 디스크 쓰기를 최소화하는 데 도움이 될 수 있습니다.
toolkit.storage.synchronous
Firefox의 경우에도 확인해 보세요.SQLite 디스크 트래픽 감소.