我的一个xmind文件体积十分大.如下:

在打开此文件后,对它编辑时,出现以下问题:

1. 编辑十分的慢,表现在选定一个编辑框后,要输入文字十分困难,卡顿.

2. 保存文件慢,而且会出现保存时内存溢出的问题.

用任务管理器查看此xmind进程占用了接近1G的内存.  考虑是软件内存配置的问题。

到xmind的安装目录中查看配置文件 ,发现xmind是用java语言开发的软件,它的配置文件 xmind.ini中有关于虚拟机内存配置的选项.

xmind.ini它的配置项中 原配置如下:

 -Xms128m-Xmx256m

以上两个值的意思:

1、-Xms :表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配。2、-Xmx: 表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程中,通常会将 -Xms 与 -Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源, 防止内存抖动.

估计这个值太小了,一个xmind文件就要占用 120m.所以决定调整它的大小到:

-Xms1512m
-Xmx1512m

重新启动,问题解决。

你会问你的机器配置这么高,内存如此大,为什么不将值配置得大一些呢?

以下是我的机器的配置.

这就涉及到另一个问题了,在解释之前,大家可以试一下,再将这两个值加大到比如说 8G会发生什么。

问题如下:

调得太大后,xmind无法启动了。为什么呢?

这是因为通过在命令行中执行 java 或者启动某种基于 Java 的中间件来运行 Java 应用程序时,Java 运行时会创建一个操作系统进程,就像运行基于 C 的程序时那样。实际上,大多数 JVM 都是用 C 或者 C++ 语言编写的。作为操作系统进程,Java 运行时面临着与其他进程完全相同的内存限制:架构提供的寻址能力以及操作系统提供的用户空间。

  架构提供的内存寻址能力依赖于处理器的位数,举例来说,32 位或者 64 位,进程能够处理的位数决定了处理器能寻址的内存范围:32 位提供了 2^32 的可寻址范围,也就是 4,294,967,296 位,或者说 4GB。而 64 位处理器的可寻址范围明显增大:2^64,也就是 18,446,744,073,709,551,616,或者说 16 exabyte(百亿亿字节)。

  处理器架构提供的部分可寻址范围由 OS 本身占用,提供给操作系统内核以及 C 运行时(对于使用 C 或者 C++ 编写的 JVM 而言)。OS 和 C 运行时占用的内存数量取决于所用的 OS,但通常数量较大:Windows 默认占用的内存是 2GB。剩余的可寻址空间(用术语来表示就是用户空间)就是可供运行的实际进程使用的内存。

  对于 Java 应用程序,用户空间是 Java 进程占用的内存,实际上包含两个池:Java 堆和本机(非 Java)堆。Java 堆的大小由 JVM 的 Java 堆设置控制:-Xms 和 -Xmx 分别设置最小和最大 Java 堆。在按照最大的大小设置分配了 Java 堆之后,剩下的用户空间就是本机堆。下图展示了一个 32 位 Java 进程的内存布局:

可寻址范围总共有 4GB,OS 和 C 运行时大约占用了其中的 1GB,Java 堆占用了将近 2GB,本机堆占用了其他部分。请注意,JVM 本身也要占用内存,就像 OS 内核和 C 运行时一样,而 JVM 占用的内存是本机堆的子集。

  由此可见-Xms 和 -Xmx 设置的过大,那么JVM的内存将被抢占,其他应用程序也无法运行。

xmind文件大,导致运行缓慢且无法保存相关推荐

  1. excel连接mysql速度太慢,excel表格数据太大-excel太大,运行缓慢该怎么办

    EXCEL表格为什么内容不多,但占用的空间特别大 原因:表格的空白行太多,占用表格容量. 解决方法: 1.打开excel,先选择其中一张表格. 2.下滑鼠标到表格内容结束的空白行处. 3.选中空白行整 ...

  2. uni-app打包h5后chunk-vendors.js文件大导致页面访问缓慢解决方案

    步骤一 uni-app开发文档:https://uniapp.dcloud.io/collocation/manifest?id=h5 在manifest.json里配置开启摇树优化,会自动裁剪没有使 ...

  3. ibdata1导致mysql打不开_关于mysql:mysql文件ibdata1增长过大导致服务器无法写的问题...

    背景 由云上的一个服务返回异样触发的,因为最近服务代码未有改变,之前运行失常,所以首先到服务所在的服务器查看服务的状态: [root@manager-01 ~]# systemctl status J ...

  4. mysql数据库建表失败_mysql数据库文件太大导致建表失败,如何避免

    [求助]mysql数据库文件太大导致建表失败,如何处理? 目录下各文件大小如下: root /mbsc/mysql/data # ll total 120646812 -rw-rw---- 1 mys ...

  5. 浏览器下载文件,读取BLOB字段会因为数据太大导致数据库连接connect超时关闭的解决方案...

    读取BLOB字段会因为文件字段太大导致connect连接超时关闭而不能读全的情况的解决方案 方案一: 通过委托模式(类似这种),在Controller层的请求方法中实现事务层上的读取blob并转化成流 ...

  6. 解决vue项目打包后文件过大导致首屏加载30s+的问题

    依赖 vue v2.6 axios+tailwindcss+element-ui+... 文件打包情况 File Size Gzippeddist/js/chunk-vendors.fb40d429. ...

  7. office2010连接服务器响应慢,从网络位置打开文件时,Office 运行缓慢或停止响应 - Office | Microsoft Docs...

    从网络位置打开文件时,Office 程序运行缓慢 (可能停止响应) 挂起文件. 2021/4/9 适用于: Office 365, Excel 2019, Excel 2016, Excel 2013 ...

  8. 开发那些事儿:如何解决js打包文件体积过大导致的网页加载慢问题?

    智能分析网关作为我们新推出的产品,除了丰富的AI智能检测及视频功能之外,我们依然在持续拓展新AI算法的部署,并不断优化细节.提升用户的使用体验. 近期,我们对js打包文件体积过大的情况进行了优化,解决 ...

  9. mysql pid文件太大_mariadb /mysql表文件太大导致的数据库启动不了 | Think in Drupal

    mariadb/mysql表文件太大导致的数据库启动不了 我们帮助客户部署的一个采集器程序,突然罢工了.采集后台打开不了,经过检查发现是使用的mariadb启动不了了. 任凭我们怎么修改MariaDB ...

最新文章

  1. Oracle相关报错
  2. cisco switch configuration
  3. ckeditor+ckfinder+syntaxhighlighter编辑器
  4. JSON特殊字符处理
  5. 如何看待夸克,酷狗概念版等简洁型软件?
  6. 微信开发 ---- 设置服务器配置
  7. 2016 ACM/ICPC 沈阳站 小结
  8. c++的两个冒号::四个点是什么意思,什么作用呢?
  9. Flashpaper序列号
  10. 倪光南:解读中国ISV生存现状
  11. 【优化理论】 共轭梯度下降算法实现
  12. Excel数据驱动框架实战
  13. html打开方式解锁,解锁bootloader
  14. 2023电工杯数学建模竞赛A题思路解析+代码+论文
  15. 孙陶然:企业需要建立自己的人才标准体系
  16. java分析内存泄露工具_Eclipse Memory Analyzer(Java内存泄漏分析工具)
  17. Linux应用(二)多进程编程
  18. p20能用鸿蒙吗,华为P20怎么升级鸿蒙系统 P20升级鸿蒙系统步骤教程
  19. 银行c语言编程,c语言编程银行利率问题
  20. Linux进程通信——匿名管道、命名管道、管道的特性和共享内存

热门文章

  1. python和c4d学哪个,如何从零开始学习C4D?C4D学习步骤是什么?价值9000的影视动画设计C4D学习路线图详解...
  2. html 转义字符 对勾,浅谈html特殊字符 编码css3 content:我是特殊符号
  3. 程序员的自我修养之精神内耗
  4. choose an existing server不能选问题
  5. android中最新webview的功能,Android WebView实现截长图功能
  6. 中国式 WiFi 焦虑症
  7. 2014年中国管理软件厂商集体患“互联网焦虑症”
  8. 福州大学第十四届程序设计竞赛_重现赛 I - 浪里个浪 (多源最短路)
  9. js url 中文乱码问题
  10. 百度AI攻略:红酒识别