为什么Windows XP 32与Windows 7 64中的Java应用程序的内存使用
我为录制我的工作活动写了一个小小的
Java application.因为我每天都打开它,所以最初关心我选择语言的一件事就是它会使用的内存量.
令人高兴的是,在Windows XP下,它通常在最小化时消耗大约5 MB,在最大化时大约消耗大约12 MB,并且愉快地使用-Xmx5M运行(根据Windows任务管理器消耗内存). 当我用更新的硬件升级我的家用电脑,同时升级到Windows 7 64(虽然我安装并使用32位JVM)时,我立即注意到此应用程序的JVM现在总是报告68 MB.根据任务经理的“工作集”,这与-Xmx5M -Xss16K有关. 旧机器和新机器都有4 GB的RAM,其中512 MB用于视频.两者都在运行Java 6的最新版本 – 关于WinXP的更新15,现在为Win7更新24.磁盘上的应用程序占用量为12 K类70 K.此外,我的工作计算机仍然是Windows XP,运行Java 6_24,并且它显示了大约12 MB这个相同的应用程序 – 并且相同我的意思是字面意思,因为这两个系统是同步的所有我的开发工具. 作为一名开发人员,我需要了解为什么我的应用程序似乎会扼杀这么多内存. 任何人都可以对此有所了解,并建议如何有意义地减少Java 6应用程序的内存占用量? 编辑 答案可能是过度的PermGen大小.根据JVisualVM,我有一堆:
但对于PermGen
那么,Win 7中的任务管理器中显示的68 MB是否可以简单地请求但是未分配的虚拟内存? 编辑2 将PermGen降低到12 MB对进程RAM没有影响,但JVisualVM确实显示它减少了(显然12 MB构成了某种最小值,因为低于此值对JVVM没有影响). 解决方法
64位操作系统使用64位作为指针大小,而32位操作系统使用32位.这可能只是其中一个原因.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- PTA-1017——Queueing at Bank(部分正确,查错半天没找到错
- windows – 64位类似Scintilla的文本编辑组件?
- windows-7 – Windows 7 VPN是否可与Cisco ASA 5510配合使用
- 如何在Windows HANDLEs中使用C标准智能指针?
- windows下安装scoop
- 删除Win10文件管理器中的文档音乐视频OneDrive快速访问等
- windows – 为什么PE需要Original First Thunk(OFT)?
- 在没有Windows的情况下在DL380 G5上刷新BIOS
- 如何在Windows中添加python到cmd
- windows-server-2008-r2 – 如何从命令行向(本地)授予“作为
- 在Windows上进行Linux的C开发
- windows-server-2008-r2 – 我需要DNSSEC吗?
- Windows 7:将TCP套接字嗅到localhost
- windows – 在控制文档管理方面我有哪些选择
- Windows安装程序 – 在CMake CPack NSIS中创建Wi
- 如何在Windows中创建虚拟打印机?
- osx – 现代IE Windows 10 Virtualbox for Mac Z
- windows-server-2008-r2 – 在没有桌面体验的Win
- windows – 集中远程AD DC?
- FreeRadius+Cisco交换机+Windows AD实现802.1X认