在此之前,我曾经发布过微头条《百度输入法占用内存突然暴涨》。当时我使用的百度输入法,内存占用达到了令人震惊的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. 脑出血遇到深度学习,是否可以无所遁形?
  2. 设计模式 -- 中介者设计模式 (Mediator Pattern)
  3. Pytorch yolov3 多GPU 训练
  4. 【Codeforces Round #430 (Div. 2) D】Vitya and Strange Lesson
  5. iOS多线程的初步研究(十)-- dispatch同步
  6. 多网卡下如何配置指定IP走某个路由器(适用于外网不通,但是钉钉服务器通的情况)...
  7. BottomupSort算法 c++代码实现
  8. 从中台、数仓与元数据不为人知的3个角度,看数据管理的生与死
  9. Application.Current的使用
  10. MySql 建表出现的问题:[ERR] 1064 - You have an error in your SQL syntax; check the manual..........
  11. 【笔记】定积分的近似计算
  12. toast弹窗_弹窗功能解析amp;设计指南 | 为弹窗正名
  13. xbox360使用_适用于Xbox 360的HD-DVD Player
  14. android获取SIM卡信息和手机号码
  15. dat image 微信_微信Dat文件解码,PC微信加密图片解密工具
  16. keil设置c语言字体大小,Keil uVision4怎么放大字体?放大字体和关键字标注颜色方法介绍...
  17. 如何删除Mysql注册列表残余文件
  18. 计算机刻录机无法显示,电脑不识别刻录机是为什么
  19. 计算机技术与移动支付的关系,移动支付的破与立
  20. OC 创建和写入plist文件

热门文章

  1. marked + mathjax 实现支持数学公式的 markdown 转 html
  2. shell了解MySQL_MySQLShell:01从入门到蒙圈
  3. React Native入门-实战解析(上)
  4. css设置三角形以及三角形的旋转
  5. iOS逆向(7)-LLDB,自制LLDB脚本,窜改微信红包金额
  6. Pro 了,更强了 — 米家台灯 Pro 评测
  7. 在Ubuntu上部署ROS以及如何搭建工作空间和功能包的创建与编译
  8. kali linux怎么安装无线网卡驱动,Kali Linux 安装BCM43142网卡驱动
  9. git报错:fatal: 无法为 ‘https‘ 找到远程助手
  10. 雷神simplest_ffmpeg_player解析(四)