最近在用 linux 做圖片壓縮。在 VirtualBox 虛擬機(jī)犁罩,使用 Debian10 + Gnome 桌面環(huán)境來(lái)開(kāi)發(fā)調(diào)試插佛。
當(dāng)我的程序在頻繁寫文件時(shí),整個(gè)虛擬機(jī)直接停止響應(yīng)了剑勾。SSH 也連不上埃撵。只能重啟 VirtualBox 才能恢復(fù)。一開(kāi)始懷疑是自己代碼的 bug甥材,因?yàn)樯婕暗蕉噙M(jìn)程盯另、數(shù)據(jù)等等。逐個(gè)排查洲赵,每次排查都得重啟一次虛擬機(jī)鸳惯,體驗(yàn)很差。一個(gè)偶然的原因我觀察到虛擬機(jī)內(nèi)存占用飆升叠萍,把 4G 內(nèi)存都吃完了芝发,然后我一路跟蹤,發(fā)現(xiàn)了這個(gè)叫做 tracker extract 的進(jìn)程苛谷。
這個(gè)進(jìn)程是 gnome 桌面系統(tǒng)自帶辅鲸,目標(biāo)是實(shí)現(xiàn)磁盤文件的全文索引。
跟大家常用的 Everything 不同腹殿,Everything 只對(duì)文件名索引独悴,而這個(gè) tracker 則會(huì)對(duì)文件內(nèi)容進(jìn)行索引。換言之锣尉,可以直接在 Debian 的文件瀏覽器窗口中刻炒,直接搜索你的 python 代碼內(nèi)容。這個(gè)索引一旦建立完畢自沧,確實(shí)不錯(cuò)坟奥。然而它真的太耗了,讓整個(gè)操作系統(tǒng)都卡死拇厢,真的沒(méi)法用爱谁。于是還是關(guān)了吧。
我參考了這篇:https://www.linuxuprising.com/2019/07/how-to-completely-disable-tracker.html
關(guān)閉的步驟為:
- 在 Gnome 的 Settings -> Search孝偎,關(guān)閉搜索
- 命令行執(zhí)行
systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service
- 命令行執(zhí)行
tracker reset --hard
- 重啟
完成之后在命令行執(zhí)行 tracker daemon
會(huì)看到各個(gè)組件都沒(méi)有運(yùn)行访敌。此時(shí)我再運(yùn)行自己的程序,就不會(huì)有卡死的問(wèn)題了衣盾。
說(shuō)句題外話:很多年前我買過(guò)一臺(tái)手機(jī)“諾基亞 N9”捐顷,用了獨(dú)一無(wú)二的 MeeGo 系統(tǒng)荡陷,當(dāng)時(shí)也被這個(gè) tracker 困擾。占用 100% 的 CPU迅涮。導(dǎo)致耗電極快废赞,即便是熄屏狀態(tài)也是 CPU 100%,一天充三次叮姑。真的太悲劇了唉地。有時(shí)或許還是不要安裝桌面環(huán)境,保持系統(tǒng)清潔传透,比較好耘沼。