在此之前,我曾经发布过微头条《百度输入法占用内存突然暴涨》。当时我使用的百度输入法,内存占用达到了令人震惊的628兆。

经过多次测试,终于查清百度输入法内存暴涨的原因。

我一直怀疑可能和词库有关,因为出现这种情况之前我曾经进行了词库操作,将搜狗输入法标准词库和微软拼音词库导入了百度输入法。完成之后导出的用户词库达到了51M。

到底是不是这个原因呢?今天我重新安装了百度输入法进行了专门的测试。

在安装百度输入法新程序完成之后,在未导入和安装任何词库的情况下,百度输入法的内存占用是很小的,只有13.5M。

然后,我们导入稍早备份的体积小一些的词库看看会怎么样。导入的词库体积为10M,未安装其他任何词库。

导入之后,百度输入法的内存占用明显提高了两倍以上,达到了34.6M。

如果将用户词库清空,百度输入法的内存占用就又回到了初始的13M左右。当用户词库达到了50M的时候,就出现了本文开始提到的内存占用暴涨的情况,达到罕见的628M。

此后又进一步进行了测试,在导入用户词库之后,如果继续安装官网下载的分类词库,内存占用同样会随着安装词库的增加而增大。安装十几种词库,内存占用就会达到200M左右。

只要安装了官网词库,内存也会暴涨

而且只要安装了官网词库,内存激增,此时如果你删除官网词库,内存依然会增加。是否官网词库和用户词库发生冲突?不得而知。

删除已安装的官网词库,内存依然会继续暴涨

因此,测试的结论就是:百度输入法内存占用问题实际上与整个词库大小都有关系。百度输入法的内存占用会随着用户词库的增大而暴涨,也会随着官网词库的增加而暴涨。

内存占用随着用户词库的增大而暴涨应该是是一个重大BUG,至少这种情况在搜狗输入法、手心输入法和QQ输入法均未出现过。事实上我现在电脑里的手心输入法和QQ输入法的词库都和百度输入法一样,导入了搜狗输入法和微软拼音输入法的大词库,但均未出现内存占用增大的情况。按照这个BUG的逻辑,用户每天使用输入法,用户词库都会持续增大,即使是不导入第三方词库,内存占用也会随着用户的使用时间而增高。

从功能上说,百度输入法在字头识别、新词学习、词频调整等方面都是很出色的,仅次于手心输入法,优于搜狗输入法和QQ输入法。而且它在导入其他词库的时候会自动合并去重,这个功能也相当不错。如果能够修正内存暴涨这个BUG,是很值得持续使用的。

另一个方面,百度输入法的词库是一个弱项,从百度输入法官网下载的词库,虽然看上去品类繁多,但每个词库包含的词条都不多,最大的也就2M左右。这就是为什么我要导入搜狗输入法和微软拼音的词库的原因了。其实只要导入了这两个词库,百度输入法官网的词库几乎可以一个都不装,仅仅依靠用户词库就已经足够了。

───────────────

本文系阴山原创,转载请注明出处。

为什么php-fpm会使用内存一直增加_百度输入法重大BUG:内存占用随用户词库增大而暴涨...相关推荐

  1. 百度输入法重大BUG:内存占用随用户词库增大而暴涨

    在此之前,我曾经发布过微头条<百度输入法占用内存突然暴涨>.当时我使用的百度输入法,内存占用达到了令人震惊的628兆. 经过多次测试,终于查清百度输入法内存暴涨的原因. 我一直怀疑可能和词 ...

  2. 为什么php-fpm会使用内存一直增加_终于讲明白了!国外大神超详细解读:苹果M1为什么比英特尔x86快了那么多?...

    12 月 1 日消息 苹果的 M1 芯片是苹果在 Mac 上搭载的单核 CPU 基准测试成绩最快的芯片,在多核性能方面,也击败了许多高端英特尔竞品.开发者Erik Engheim 近日分享了对 M1 ...

  3. java内存溢出前端_【面试笔录】内存溢出和内存泄漏

    一.Java是如何管理内存的 在Java中,我们需要通过new关键字为每一个对象申请内存空间(基本数据类型除外),所有的对象都是在堆(Heap)中分配空间的. 在Java中,内存的分配是管理员决定的, ...

  4. 服务器内存 知乎_服务器内存条与普通内存有什么区别

    展开全部 区别如下: 1.板载的内存颗粒数量不同: 服务器的内存条多了一颗ECC错误校验储存芯62616964757a686964616fe4b893e5b19e31333431363037片(储存芯 ...

  5. 苹果内存不够怎么办_苹果怎么清理隐藏内存?全新手机技巧,还不会的亏大了!...

    苹果手机怎么清理隐藏内存? 很久很久以前,手机的内存还只有几百兆,随着手机不断更新换代,内存也越来越大.现在提到换手机,很多人都会首选高配的内存,但是如果预算不够只能入手小内存怎么办?如果我们掌握一些 ...

  6. java 实现内存数据表_数据结构 Java中的内存

    根据线性表的实际存储方式,分为两种实现模型: 顺序表 ,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示. 链表 ,将元素存放在通过链接构造起来的一系列存储块中. 一.顺 ...

  7. VS2015占内存大吗?_手游越来越占内存,80%的手机安装一个大游戏就满了,厂商肉搏...

    智能手机刚出的时候手机的内部存储空间只有2G,当时的软件很小,2G的存储足够用了,但是随着手机和手游的不断发展,手机的内存越来越大,手游也越来越大.目前主流手机的内存都在32G以上,主流的手游差不多都 ...

  8. jvm内存配置参数_性能测试连载 (23)jvm内存参数设置

    概述 java内存溢出之后,我们需要根据错误信息分析一下内存溢出的具体原因,及时调整中间件的参数. 查看jvm内存分配 linux下可以通过jmap -heap [pid]命令查看jvm的内存分配 例 ...

  9. java list 占用内存不释放_性能不打折,内存占用减少90%,Facebook提出极致模型压缩方法Quant-Noise...

    对于动辄上百 M 大小的神经网络来说,模型压缩能够减少它们的内存占用.通信带宽和计算复杂度等,以便更好地进行应用部署.最近,来自 Facebook AI 的研究者提出了一种新的模型量化压缩技术 Qua ...

  10. python 内存分析工具_[转] python运行时内存分析工具meliae

    meliae是一个python进程内存占用监控.分析工具,它的安装需要依赖pyrex包. 一.安装: 安装python内存分析工具 sudo pip install cython sudo pip i ...

最新文章

  1. 【Java 虚拟机原理】Class 字节码二进制文件分析 七 ( 局部变量表分析 )
  2. 菜鸟教程 之 JavaScript 教程
  3. jsp工程防止外部注入_防止 jsp被sql注入的五种方法
  4. 如何解决comctl32.dll文件丢失的问题?
  5. 华为P50 Pro渲染图再曝光:液态镜头、四曲面屏很吸睛
  6. 蓝牙学习笔记(二)——低功耗蓝牙(BLE)的体系结构
  7. C++STL之整理算法
  8. 物流行业GPS定位应用解决方案
  9. 发电机变压器运行状态(温度电压电流)监控系统解决方案
  10. 量子电动力学和量子场论,多体系统的量子场论
  11. java生成的条形码扫不了_JAVA 生成扫描条形码
  12. 工业机器人实训耗材_工业机器人实训课程
  13. 美国佛罗里达州立大学刘毅老师招收机器学习方向全奖博士生
  14. 前端框架Vue(11)——Vue+表单验证 VeeValidate 实践
  15. SSM框架中 出现的406 (Not Acceptable)
  16. 对 Linux 初级、中级、高级用户非常有用的 60 个命令
  17. SiC MOSFET驱动电压的分析
  18. JAVA判断字符串以什么什么开始_字符串不能以什么开头 Java 判断字符串是否以什么开头...
  19. 鼠标键盘失灵对策(Windows8.1)
  20. 使用python生成随机中奖姓名和电话号码并存入excel

热门文章

  1. 操作系统知识点(考试版)
  2. 小功能⭐️Unity动态更改 Scripting Define Symbols (宏定义)
  3. GTK GDK 事件 信号
  4. SNI(Server Name Indication)
  5. 2022-02-23 安卓开发七年面试题总结
  6. wireshark 报文分析心得 -- Identification 使用说明
  7. Citrix PVS架构和工作原理
  8. 人类即将进入互联网梦境时代(IDA)
  9. Linux平台提取DSDT,ubuntu下提取DSDT SSDT
  10. php做一个文章页面,thinkphp教程-文章内容页上一页下一页功能实现