Baloo 创建了 64GB 索引,占用了一半的内存和 25% 的 CPU

Baloo 创建了 64GB 索引,占用了一半的内存和 25% 的 CPU

在 gnome 19.04 下,baloo创建一个 64GB 索引,占用了我 16GB 内存的一半和 25% 的 CPU。

卸载balooUbuntu 18.04 LTS 中的 baloo_file_extractor 占用大量内存 问题就解决了。

我还是想了解:

  • 我如何获得baloo,可能是通过安装dolphin
  • baloo运行 gnome 时它对我有什么作用?

答案1

我使用 模拟了在 Ubuntu 19.04 上安装 Dolphin apt install -s dolphin。然后在输出中搜索包含“baloo”的软件包:

dkb: ~/Desktop $ grep -i baloo baloo.txt

输出:

Inst libkf5balooengine5 (5.56.0-0ubuntu1 Ubuntu:19.04/disco [amd64])
Inst libkf5baloo5 (5.56.0-0ubuntu1 Ubuntu:19.04/disco [amd64])
Inst baloo-kf5 (5.56.0-0ubuntu1 Ubuntu:19.04/disco [amd64])
Inst libkf5baloowidgets-data (4:18.12.3-0ubuntu1 Ubuntu:19.04/disco [all])
Inst libkf5baloowidgets5 (4:18.12.3-0ubuntu1 Ubuntu:19.04/disco [amd64])
Inst libkf5baloowidgets-bin (4:18.12.3-0ubuntu1 Ubuntu:19.04/disco [amd64])

在 Ubuntu 19.04 上安装 Dolphin 会引入 100 多个软件包,包括上面列出的软件包。(最后一个软件包不会如果我使用的话,就会被拉进来--no-install-recommends。)可以相当安全地得出结论,在您的系统上安装 Dolphin 或不建议拉进来 baloo。

为了验证安装 Dolphin 时确实安装了 baloo,我sudo apt install dolphin在 Ubuntu 19.04 的虚拟机中运行了它。

0 upgraded, 181 newly installed, 0 to remove and 0 not upgraded.
Need to get 41.2 MB of archives.
After this operation, 206 MB of additional disk space will be used.

安装完成后,我继续但没有运行 Dolphin,我跑了pgrep -a baloo,又得到了提示。换句话说,baloo 没有跑。

我重新启动并pgrep -a baloo再次运行但没有运行 Dolphin

dkb: ~ $ pgrep -a baloo
1672 baloo_file
dkb: ~ $ 

Top 没有显示任何异常活动,可能是因为 baloo 索引的内容不多。这反映在索引文件的大​​小上:

dkb: ~/.local/share/baloo $ ls -al
total 516
drwxrwxr-x  2 dkb dkb   4096 Jun 28 18:05 .
drwx------ 23 dkb dkb   4096 Jun 28 18:11 ..
-rw-rw-r--  1 dkb dkb 516096 Jun 28 18:05 index
-rw-rw-r--  1 dkb dkb   8192 Jun 28 18:06 index-lock
dkb: ~/.local/share/baloo $ 

然后我启动了 Dolphin(同时保持一个运行 top 的终端窗口)。同样,由于索引的内容很少,top 没有显示任何异常活动,并且pgrep -a baloo给出的输出与我重启后得到的相同。


我还是想了解

How did I got baloo'd, by installing dolphin maybe?
What does baloo do for me when running gnome?
  • 在我的 Ubuntu 19.04(GNOME)上安装 Dolphin 后安装了 Baloo。
  • Baloo 可以索引文件,也可以索引文件内容。因此,在 Dolphin 中,您可以按文件名称搜索文件,也可以搜索特定文件中的字符串*。在下图中,我搜索了字符串十四行诗出自《无处不在》。

使用 baloo 在文件内容中查找字符串

截图有顶部在一旁奔跑。

因此,即使在 GNOME 会话中,您也可以使用 Dolphin-baloo 组合。但是,默认情况下

  • baloo 不会索引点文件和点文件夹的内容以及列出的排除文件类型〜/.config/baloofilerc
  • baloo 也不索引外部媒体。
  • 如果您有大量可索引的文件,baloo 在第一次运行时(以及每当您一次添加大量可索引的文件时)将消耗大量资源。
  • 如果数据库损坏,baloo 可能会对某些文件造成堵塞或卡住。
  • 有些用户限制 baloo 只索引文件而不索引其内容。我让 baloo 做这两件事(但我添加了几个额外的排除项,以免 baloo 超负荷)。

*我不知道您在 Ubuntu 上安装 Dolphin 的原因,因此无法进一步评论。如果您有兴趣保留 Dolphin 但不想让 baloo 处于活动状态,请运行

balooctl status

在我的 Kubuntu 上,它显示

04:27 PM ~/Desktop $ balooctl status
Baloo File Indexer is running
Indexer state: Idle
Indexed 2323 / 2323 files
Current size of index is 193.11 MiB
06:53 PM ~/Desktop $ 

然后,运行

balooctl disable  

这样做会禁用文件索引器。禁用状态在 Ubuntu 19.04 (GNOME) 上重启后仍然存在:

dkb: ~ $ balooctl status
Baloo is currently disabled. To enable, please run balooctl enable
dkb: ~ $ 

相关阅读:禁用 baloo_file_extractor 是否安全?


编辑:这是我~/.config/baloofilerc在 Kubuntu 中的18.04 ***

[Basic Settings]
Indexing-Enabled=true

[General]
dbVersion=2
exclude filters=.moc,.pch,*.po,CMakeFiles,*.o,confstat,*.m4,.xsession-errors*,lost+found,.hg,*.part,__pycache__,*.swap,CMakeTmp,*.elc,CVS,libtool,Makefile.am,*.aux,*.lo,cmake_install.cmake,config.status,lzo,moc_*.cpp,ui_*.h,CMakeCache.txt,*.vm*,CMakeTmpQmake,*.rcore,*.pyc,.obj,*.gmo,core-dumps,confdefs.h,autom4te,qrc_*.cpp,conftest,*.rej,.histfile.*,*.class,po,*.tmp,*.la,*.loT,*.orig,.git,*.omf,*~,_darcs,.uic,CTestTestfile.cmake,.svn,.bzr,litmain.sh,*.moc,*.nvram,*.csproj,*.pc,*.jpg,*.png,*.iso.,*.AppImage,*.deb,*.mp4,*.mkv
exclude filters version=2
exclude folders[$e]=$HOME/.cache/,$HOME/.config/,$HOME/.dropbox/,$HOME/.dropbox-dist/,$HOME/.local/,$HOME/.mozilla/,$HOME/.recoll/,$HOME/.themes/,$HOME/.thumbnails/,$HOME/Desktop/,$HOME/Downloads/,$HOME/Dropbox/Screenshots/,$HOME/MyFox/,$HOME/Public/GeanyBackups/
first run=false
folders[$e]=$HOME/
only basic indexing=false

***:我认为balooKubuntu 18.04 中的版本忽略了点文件和点文件夹,因此排除点文件可能是不必要的!

答案2

你的问题:

  1. 我如何获得baloo,可能是通过安装dolphin

    aptitude why显示需要安装软件包的原因(sudo apt-get install aptitude如果没有,请使用以下命令安装)。例如,我遇到了和你一样的问题,我运行了

    $ dpkg -l | grep baloo
    ii  baloo-kf5                                     5.68.0-0ubuntu1                            amd64        framework for searching and managing metadata
    ii  libkf5baloo5                                  5.68.0-0ubuntu1                            amd64        framework for searching and managing metadata core lib.
    ii  libkf5balooengine5                            5.68.0-0ubuntu1                            amd64        framework for searching and managing metadata plugins
    ii  libkf5baloowidgets-bin                        4:19.12.3-0ubuntu1                         amd64        Wigets for use with Baloo - binaries
    ii  libkf5baloowidgets-data                       4:19.12.3-0ubuntu1                         all          Wigets for use with Baloo - data files
    ii  libkf5baloowidgets5:amd64                     4:19.12.3-0ubuntu1                         amd64        Wigets for use with Baloo
    

    告诉包的名称,然后

    $ aptitude why baloo-kf5
    i   dolphin-plugins Depends dolphin  
    i A dolphin         Depends baloo-kf5
    $ aptitude why libkf5baloo5
    i   dolphin-plugins Depends dolphin                            
    i A dolphin         Depends libkf5baloo5 (>= 5.3.0+git20150512)
    $ aptitude why libkf5balooengine5
    i   dolphin-plugins Depends dolphin                            
    i A dolphin         Depends libkf5baloo5 (>= 5.3.0+git20150512)
    i A libkf5baloo5    Depends libkf5balooengine5                 
    

    来告诉依赖链,这些依赖链会导致安装一些baloo-相关软件包(仅出于说明目的,第一个命令aptitude已经显示了dolphinrequired baloo)。最后一个命令的输出中显示的信息应为:“已dolphin-plugins手动安装。required ,然后自动安装。required ,然后自动安装。required ,然后自动安装。 不需要任何其他软件包即可自动安装。”dolphin-pluginsdolphindolphinlibkf5baloo5libkf5baloo5libkf5balooengine5libkf5balooengine5

  2. baloo运行 gnome 时它对我有什么作用?我将其分为两部分。

    1. ...是做什么的baloo一般来说,baloo对文件进行索引,以便以后快速搜索。
      与其他索引器有何不同mlocate mlocate仅索引文件名。 baloo可以索引文件内容,以便搜索返回“更好”的结果(取决于您配置的方式baloo)。当然,baloo可以配置为仅索引文件名(请参阅定位与 baloo并在那里回答),例如为了存储空间,在这种情况下它类似于mlocate
    2. ... 运行 gnome 时对我来说如何?
      这可以改写为我该如何使用索引的数据baloo 正如预期的那样,dolphin利用baloo搜索来搜索文件,无论是名称还是内容(您可以使用右上角的放大镜或侧栏中的“搜索”列表来拉动)。无论您使用 Gnome 还是其他会话管理器,都可以这样做。

    此外,侏儒(在这里我专门回答你提到的这个问题)有其活动搜索栏,这是一个更复杂的搜索工具。无需过多介绍,这个 Gnome 搜索由搜索提供商。初始安装时会设置一些此类提供商,但您可以添加其他提供商,以便搜索结果也包括这些提供商。原则上,我猜想baloo也可能是搜索提供商。到目前为止,我找不到有关如何执行此操作的信息。

答案3

截至 2020 年 2 月 11 日,在从 18.04 升级到 20.04 后,baloo syslog 问题首次出现。文件 /var/log/syslog 的大小激增。

对此要绝对清楚。运行

balooctl disable

并没有阻止问题。我使用

sudo apt-get remove baloo-kf5

然后我使用以下方法裁剪系统日志文件

sudo sh -c 'cat /dev/null > /var/log/syslog'

syslog 已达到约 40GB,syslog.1 为 48GB

这段代码是恶意的。我随后才发现 baloo 在

.local/share/baloo/index

这也是 48GB。迫切需要对 baloo 采取一些措施。阅读论坛上的所有各种帖子,这个问题自 2014 年以来一直是一个反复出现的问题,没有“好的”解决方案。显然,根据我的经验,它今天仍然是一个问题。

答案4

按照上面的答案,我仍然发现巴鲁在奔跑并消耗了大量的资源。总结一下,在这一点上,似乎终于埋葬了这个最邪恶的恶魔:

  1. 我禁用了索引器:

     balooctl disable
    
  2. 我删除了该包baloo-kf5,但仍然发现 baloo 进程正在运行和生成,所以我最终这样做了:

     sudo apt remove baloo-kf5 libkf5baloo5 libkf5balooengine5
    

之后,我检查了一下,看看出于某种原因,baloo 是否仍然和 top 在一起......结果是......

  1. 所以,最后,不要忘记终止之前运行的 baloo 进程,并且如上所述检查~/.local/shared/baloo其是否膨胀。

或许sudo apt purge这是一个更好的主意,但无论如何......

真是胡说八道,我很烦...
如果产生了 baloo 进程,我就会点燃我的盒子......

相关内容