meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
linux:prepare:prepare:firefox [2023/08/22 10:38] niziak |
linux:prepare:prepare:firefox [2023/10/17 09:20] (current) niziak |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Disable Detachable Tabs in Mozilla Firefox ===== | ===== Disable Detachable Tabs in Mozilla Firefox ===== | ||
- | * `about:config` | + | * ''about:config'' |
- | * `browser.tabs.allowTabDetach` | + | * ''browser.tabs.allowTabDetach'' |
===== limit memory usage ===== | ===== limit memory usage ===== | ||
+ | ==== cgroups ==== | ||
+ | |||
+ | References: | ||
+ | * [[https://gist.github.com/hrishikeshrt/dab05d42fc60144909cdbde2cc3f4d2c|Limit Memory Usage using cgroups]] | ||
+ | * [[https://gist.github.com/hardfire/7e5d9e7ce218dcf2f510329c16517331]] | ||
+ | * [[https://gist.github.com/avoidik/1c7c53f02461f716aabebf3372a6199d]] | ||
+ | |||
+ | But now we have some modern systemd based tools. | ||
+ | |||
+ | ==== systemd ==== | ||
+ | |||
+ | [[https://wiki.archlinux.org/title/cgroups]] | ||
+ | |||
+ | <file bash /usr/local/bin/firefox> | ||
+ | #!/bin/bash | ||
+ | systemd-run --user -G --scope --unit=run-firefox -p OOMPolicy=continue -p MemoryMaxigh=4G -p MemoryMax=5G -p MemorySwapMax=2G -p "CPUQuota=200%" /usr/bin/firefox "$@" | ||
+ | </file> | ||
+ | |||
+ | or | ||
+ | |||
+ | <file bash /usr/local/bin/firefox> | ||
+ | #!/bin/bash | ||
+ | systemd-run --user -G --scope --unit=run-firefox -p OOMPolicy=continue -p MemoryHigh=50% -p MemoryMax=60% -p MemorySwapMax=2G -p "CPUQuota=200%" /usr/bin/firefox "$@" | ||
+ | </file> | ||
+ | |||
+ | See [[https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html#MemoryMax=bytes|MemoryMax]] | ||
+ | |||
+ | Verify limits: | ||
<code bash> | <code bash> | ||
- | systemd-run --user -G --scope --unit=firefox -p OOMPolicy=continue -p MemoryMax=2G -p MemorySwapMax=2G-p "CPUQuota=200%" firefox | + | systemctl list-units --user --type scope |
+ | systemctl status --user run-firefox.scope | ||
+ | |||
+ | Memory: 201.3M (max: 2.0G swap max: 2.0G available: 1.8G) | ||
</code> | </code> | ||
- | See [[https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html#MemoryMax=bytes|MemoryMax]] | + | Modify limits without restarting firefox: |
+ | <code bash> | ||
+ | systemctl set-property --user run-firefox.scope MemoryMax=8G MemorySwapMax=10G | ||
+ | </code> | ||
+ | |||
+ | ==== firejail ==== | ||
+ | |||
+ | <code bash> | ||
+ | sudo apt install firejail | ||
+ | |||
+ | firejail --noprofile --rlimit-as=5g firefox | ||
+ | |||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | --rlimit-as=number | ||
+ | Set the maximum size of the process's virtual memory (address space) in bytes. Use k(ilobyte), m(egabyte) or g(igabyte) for size suffix (base 1024). | ||
+ | </code> | ||
+ | |||
+ | [[https://wiki.archlinux.org/title/Firejail#Using_Firejail_by_default|Using_Firejail_by_default]] | ||