저는 Devuan GNU/Linux Beowulf 데스크탑에서 Firefox 83을 사용하고 있습니다.
불행히도, 나에게 불분명한 이유 때문에 FF에는 점점 더 많은 시스템 메모리를 천천히 차지하는 메모리 문제가 있습니다. 시스템을 사용하는 동안에는 견딜 수 있었지만 몇 시간 동안 그대로 놔두면 다른 모든 것이 바뀌고 시스템이 차지한다는 것을 알았습니다...아, 몇 분 정도 디스크 I/O가 다시 나타납니다. 형태로 만듭니다(보통 killall firefox-bin
VT 텍스트를 마친 후 ).
나는 FF의 물리적 및/또는 스왑 메모리 사용에 엄격한 제한을 두기로 결정했습니다. ServerFault에 대한 다음 기사를 읽었습니다.
이를 수행하기 위해 제안된 여러 가지 방법이 있습니다.
- Perl 스크립트를 사용하여
uptime
프로세스 실행 래핑 - 제한된 메모리로 프로세스 제어 그룹(cgroups 메커니즘)을 정의한 후 다음 방법을 사용하여 프로세스 실행을 래핑합니다.
cgexec
- 복잡한 cgroup 기반 래퍼 스크립트 사용
- 다음을 설정하는 스크립트로 프로세스 실행을 래핑합니다.
ulimit
- monit 데몬을 사용하여 특정 조건에서 Firefox를 종료합니다(기기가 특정 메모리 양을 초과하여 유휴 상태라고 판단되는 경우, 감지하기 어려울 수 있지만(?)).
하지만 내 인생에서 어느 것을 시도할지 결정할 수 없습니다. 다양한 접근 방식의 장단점을 이해할 수 있나요?
노트:
- Firefox는 일반적으로 래퍼 스크립트에 의해 이미 시작된다는 점을 명심하세요. 또한 하위 프로세스를 시작합니다.
- 이 머신은 16GB의 물리적 RAM을 갖춘 Intel i5-7600K입니다.
- 나는 때때로 다른 중요한 메모리 소비자(예: 내가 사용하는 인메모리 데이터베이스)를 사용하지만 컴퓨터는 전용 서버나 다른 것이 아니라 단지 내 데스크톱입니다.
- 내 사용량에 대해 더 많은 정보가 필요하면 문의하세요.
- 위에 나열된 다른 대안이 있는 경우 해당 대안에 장단점도 추가할 수 있습니다.
- 모든 옵션을 논의하지 않고 경험이 있는 한두 가지 대안만 다룰 수 있습니다.