삭제된 파일을 찾고 있는(아직 열려 있는) 일부 CouchDB 문제 디버깅:
$ lsof -nP | grep '(deleted)'
놀랍게도 Google Chrome에는 다음과 같은 약 16900개의 파일이 있다는 것을 발견했습니다.
- 파일 15870개
/run/shm/.com.google.Chrome/
- 파일 969개
/opt/google/chrome/
다른 애플리케이션(Dropbox 등)에서 삭제된 파일은 약 350개 정도입니다.
- 이는 Chrome에서 파일이 '유출'된다는 의미인가요?
- 이러한 파일은 메모리를 소비합니까(커널 테이블 항목을 아껴 사용하는 것 외에)? 내 생각에는 그렇지 않다고 생각합니다. 디렉토리 항목이 없더라도 파일 시스템에만 존재할 수도 있습니다.
- 디스크 공간을 사용합니까? 내가 말하려는 것은 아직 열려 있기 때문에 커널이 디스크 공간을 확보하지 못한다는 것입니다.
나는 Google Chrome을 사용하고 Version 43.0.2357.130 (64-bit)
있으며 내 시스템은 다음과 같습니다.
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
답변1
이는 시스템의 문제가 아니라 Chrome 작동 방식의 문제입니다. 메모리나 파일 등이 누출되지 않으며 Chrome이 현재 사용하고 있는 데이터입니다.
Chrome은 여러 개의 개별 프로세스를 사용합니다(정확히 탭당 하나의 프로세스는 아니지만 이것이 일반적인 개념입니다). 이러한 프로세스 중 일부는 데이터를 교환해야 합니다. 그들은 기억을 공유함으로써 이를 수행합니다. Chrome은 생성된 후 삭제되는 인메모리 파일 시스템(tmpfs)의 파일을 통해 이 공유 메모리(적어도 일부)를 구현합니다(파일이 난독화되지 않도록 보장).
표시되는 파일은 디스크 공간을 차지하지 않고 메모리를 차지합니다. /run
메모리 파일 시스템 아래에 있습니다 . RAM의 다른 것과 마찬가지로 교체할 수 있습니다.
/opt/google/chrome
Chrome을 업그레이드했지만 아직 다시 시작하지 않은 경우 삭제된 파일만 아래에 표시됩니다. 다시 시작하면 삭제된 파일이 사라집니다.
답변2
mikeserv는 "탭 40개 중 39개 [필수 아님]"이라고 말합니다.
이것은 (아마도) 사실이 아닙니다. 그렇죠, 우리는보고 있다한 번에 하나의 탭만 가능합니다. 우리는 하루 중 서로 다른 시간에 이 탭의 정보가 필요하고 종종 다른 탭의 정보를 참조한 후 중단한 부분을 선택하고 싶어하기 때문에 여러 탭을 유지합니다.
Chrome이 실행 중일 때 "Composito", "WorkerPoo" 및 chromium이라는 항목은 270,479개의 열린 파일 중 26%를 사용합니다. 태그 30개는 좀 너무 많은 것 같아요!
41062 Composito
17078 chromium-
12625 WorkerPoo
30개의 탭에 걸쳐 lsof는 다양한 라이브러리 모듈의 약 170개 인스턴스를 보고합니다.
lsof | grep '^Composito' | sed -e 's/^.............................................................................................//' | sort | uniq -c | sort -nr 173 /usr/lib/locale/locale-archive 172 /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0 172 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0 172 /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0 172 /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0 172 /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0 172 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0 172 /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0