linux – 在Firefox崩溃后Web内容进程仍在内存中

最近我和MATE一起玩Ubuntu 16.04(修补和升级).在操作系统之上安装了Firefox 56(FF),用于常规Web浏览.正如我们所知,有时FF会下降.但是我注意到在这种情况下磁盘利用率很高.原因是旧的FF进程没有关闭称为Web Content的缓存进程.

根据Google-d信息,默认情况下有4个此类进程.通过摆弄about:config,您可以修改子进程的数量.有关此检查FF Electrolysis的更多信息.我不会标记这种恶意行为,但它的不便之处从未如此.
我制作了一个脚本,它可以解决FF崩溃并杀死这样的进程.他们运行类似这样的命令:

“/usr/lib中/火狐/火狐-contentproc-childID8-isForBrowser-intPrefs5:50 | 6:-1 | 18:0 | 28:1000 | 33:20 | 34:10 | 43:128 | 44:10000 | 49 :0 | 51:400 | 52:1 | 53:0 | 54:0 | 59:0 | 60:120 | 61:120 | 91:2 | 92:1 | 106:5000 | 117:0 | 119:0 | 130:10000 | 155:24 | 156:32768 | 158:0 | 159:0 | 167:5 | 171:1048576 | 172:100 | 173:5000 | 175:600 | 176:4 | 177:1 | 186 :2 | 200:60000 | -boolPrefs1:0 | 2:0 | 4:0 | 26:1 | 27:1 | 30:0 | 35:1 | 36:0 | 37:0 | 38:0 | 41: 1 | 42:1 | 45:0 | 46:0 | 47:0 | 48:0 | 50:0 | 55:1 | 56:1 | 57:0 | 58:1 | 62:1 | 63:1 | 64:0 | 65:1 | 66:1 | 67:0 | 68:1 | 71:0 | 72:0 | 75:1 | 76:1 | 80:1 | 81:1 | 82:1 | 83: 0 | 85:0 | 86:0 | 87:1 | 88:0 | 93:1 | 94:0 | 100:0 | 105:0 | 108:1 | 109:0 | 111:1 | 112:1 | 114:1 | 118:0 | 120:0 | 122:0 | 124:1 | 125:1 | 131:0 | 132:0 | 133:1 | 135:0 | 146:0 | 153:0 | 154: 0 | 157:1 | 160:0 | 162:1 | 164:1 | 165:0 | 170:0 | 174:1 | 179:0 | 180:0 | 181:0 | 182:1 | 183:0 | 184:0 | 185:1 | 188:1 | 192:0 | 193:0 | 194:1 | 195:1 | 196:0 | 197:1 | 198:1 | 199:1 | 201:0 | 202: 0 | 204:0 | 212:1 | 213:1 | 214:0 | 215:0 | 216:0 | -stringPrefs3:7; release | 134:3; 1.0 | 151:332;¼½¾!ː̷̸. – :“؉؊ %.܁܂܃܄ᅟᅠ᜵ – ‘‧<>. /⁒⎮/:⎮⧶⧸⫻⫽⿰⿱⿲⿳⿴⿵⿶⿷⿸⿹⿺⿻.〔〕゠ㅤ﹝﹝﹝./.ㅤ | 152:8;中等| -greomni /usr/lib中/火狐/ omni.ja-appomni /usr/lib中/火狐/浏览器/ omni.ja-APPDIR /usr/lib中/火狐/ browser1078truetab

到目前为止,我已确定此命令的部分内容:

>对于启动器:/usr/lib / firefox / firefox -contentproc -childID“CHILD_ID”-isForBrowser
其中“CHILD_ID”是FF的子进程处理缓存的索引,我将它们从0到9,因为我的FF设置默认为4但最大值为10.其他参数是自解释的.
>然后有许多首选项int / bool / string,它看起来像是将流程传递给其他进程.我不确定如何将这些解释为人类可读的语言.
>最后所有进程都以-greomni /usr/lib / firefox / omni.ja -appomni /usr/lib / firefox / browser / omni.ja -appdir /usr/lib / firefox / browser“FF_PID”true标签结尾
其中omni.ja是一个多lib存档,更多信息here.“FF_PID”是创建此类缓存子的FF进程的进程ID号.最后两个params true tab我不知道. FF的手册页太浅,无法帮助到这里.
>如果你想看到你挂起的进程,请尝试我的接送线:ps -ef | grep“firefox -contentproc”–color = never | awk'{t = $1; 1美元= 3美元; $3 = t;打印; }’| grep“^ 1” – color = never

所以我的推理和质疑是:

>为什么FF崩溃报告会将这些进程留在内存中?
这个剩余的子进程是否用于选项卡恢复?
如果没有,为什么?
>我可以使用它在崩溃前恢复浏览器中的文本编辑(例如论坛消息在崩溃时丢失)吗?
>到目前为止,我终止了所有进程来释放我的磁盘使用率.有没有更好的办法 ?请告诉我.
>命令中那些荒谬的管道是什么?我想这是我的磁盘使用率如此之高的主要原因.寻找一些不存在的内存地址?

我的清理行是:对于`ps -ef |中的ch_id grep“firefox -contentproc”–color = never | awk'{t = $1; 1美元= 3美元; $3 = t;打印; }’| grep“^ 1”–color = never | awk'{print $2}’`;杀死-9 $ch_id; DONE

解决方法

这只是对命令行中“管道”的部分回答.这些不是管道,而是 – * Prefs选项的firefox命令行参数语法的一部分.据我所知,这只是在源代码中“记录”(见 https://dxr.mozilla.org/mozilla-release/source/dom/ipc/ContentProcess.cpp).

例如,-stringPrefs选项引用了一些关于字符串的首选项(我不知道更多),语法如下:“index:length; string |(next entry …)”.奇怪的字符列表似乎对应于http://kb.mozillazine.org/Network.IDN.blacklist_chars中列出的列入黑名单的字符.

当我“ps -elf | firefox”时,我有相同(或非常相似)的结果,我在互联网上的其他地方找到了对此字符串的其他引用(但不是关于此字符串).

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...