-
2021-03-03 13:11:31
JVM(java虚拟机)其实就是操作系统(如windows)上的一个普通程序(进程名叫java,这个程序可以解释执行class文件)。当java进程启动时会首先分配一块堆内存(最小内存),以后每当class字节码程序要求JVM(java进程)分配内存时,JVM就会在预先分配的那块内存上面为class字节码程序分配内存,当预先分配的那块内存用没时,JVM会再向操作系统要内存(物理内存), 但是JVM不会无限制的向操作系统要内存,当它占用的实际堆内存达到一个预定值(最大可用内存)时,如果class字节码程序还向JVM要内存,并且JVM无法通过回收当前堆中的内存来为class字节码程序服务时,它就会给程序抛出java.lang.OutOfMemoryError。其中内存回收时机并不是再用掉内存达到最大可用内存时才进行,他的运行时机是不确定的,可见JVM的最大可用内存就是你的java程序(class字节码程序)能够使用的最大内存。例如:你把jvm最大可用内存设为200M,而你的物理内存1G.在这种程序下你的class程序最多能使用200M内存,虽然你可能还有800M内存可用,但是当你的程序用掉200M后如果再要内存,JVM不会因为你还有800M内存而为你分配内存,他会向你抛出java.lang.OutOfMemoryError .所以JVM最大可用内存参数比较重要。一般建议堆的最大值设置为可用内存的最大值的80%。(以下为转网络)Tomcat默认可以使用的内存为64MB,在较大型的应用项目中,这点内存是不够的,需要调大。Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置:set JAVA_OPTS=-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】需要把这个两个参数值调大。例如: set JAVA_OPTS=-Xms64m -Xmx256m表示初始化内存为256MB,可以使用的最大内存为512MB。另外需要考虑的是Java提供的垃圾回收机制。虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度。收集垃圾可以接受的速度与应用有关,应该通过分析实际的垃圾收集的时间和频率来调整。如果堆的大小很大,那么完全垃圾收集就会很慢,但是频度会降低。如果你把堆的大小和内存的需要一致,完全收集就很快,但是会更加频繁。调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求。在基准测试的时候,为保证最好的性能,要把堆的大小设大,保证垃圾收集不在整个基准测试的过程中出现。如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过 3-5 秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,检查垃圾收集的详细输出,研究 垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的 80% 作为堆大小。当增加处理器时,记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的。-Xms : 应用程序初始化内存大写,注意是你的某一个应用程序,多个应用程序将生成多个JVM实例-Xmx: 应用程序占用内存的最大值,将不能超过这个值,否则可能导致OutOfMemory.-XX:NewRatio old generation/new generation 的比例推荐的-Xms -Xmx设置成一样,,为系统内存的80%.这样,不用每次GC清理完再重新分配.而-XX:NewRatio为2 比如: -Xms384m -Xmx384m -XX:NewRatio=2
更多相关内容 -
vmware虚拟机占用电脑内存资源怎么办-vmware虚拟机占用电脑内存资源的解决办法 - 河东软件园
2021-07-26 08:35:27对于VMware虚拟机想必许多用户一定不陌生,我们常常通过VMware虚拟机来实现多个操作系统的同时安装,其具有操作简单,运行稳定等诸多特点,因而广受用户的喜爱,而在我们使用时发现,VMware虚拟机太过于占用资源,...对于VMware虚拟机想必许多用户一定不陌生,我们常常通过VMware虚拟机来实现多个操作系统的同时安装,其具有操作简单,运行稳定等诸多特点,因而广受用户的喜爱,而在我们使用时发现,VMware虚拟机太过于占用资源,特别是随着时间的增长,我们磁盘分区所占用的资源越来越大,其实,这时由于磁盘分区的自动保护中的快照功能造成的,它会自动备份我们的系统与文件,从而造成空间占用过大,今天就为用户带来了VMware虚拟机占用资源的优化方案,有需要的用户赶紧来了解一下吧!
方法/步骤
大小:3.62 MB版本:环境:Win2003, WinXP, Win2000, NT, WinME
大小:137.93 MB版本:环境:Win2003, WinXP, Win2000, NT, WinME
1、首先,我们先打开VMware虚拟机,然后进入主界面,然后即可在左侧找到我们的系统。
2、然后我们右键点击我们所需要优化的系统,呼出操作菜单(如果用户需要优化多个系统,甚至是全部的系统那么按照此方法重复整个“方法/步骤”即可)。
3、然后我们在菜单选项中选择“快照”,并在复选框中选择“快照管理器”功能,如下图所示:
4、然后我们进入快照管理器界面,我们先勾选界面左下角的“显示自动保护的快照”选项,然后我们即可在窗口中看到并点击“快照1”(时钟图标的快照),然后点击“删除”按钮。
5、此时提示确实要删除“快照1”吗,我们点击“是”按钮(若果有多个快照请一并删除)。
6、此时可以看到,我们目前没有任何的快照。
7、然后我们点击下方的“自动保护”按钮,并进入界面。
8、此时进入虚拟机设置窗口,我们在选项卡中选择“选项”,然后在选项中点击“自动保护”功能,然后将右侧的“启动自动保护”选项前的勾选取消,然后点击确定按钮。
每一个系统一般能够节省3~5GB的内存占用,当然用户如果需要全面的进行优化,按上述方法对各个系统一一进行优化(每个系统的设置是独立的),当然快照功能取消后,如果系统出现问题,我们进行重装的话这些系统内的文件可能就无法恢复了,因此,建议不关闭我们常用以及重要某个系统的自动保护功能。
-
虚拟机对电脑伤害大吗
2021-07-25 05:22:30Ready有的小伙伴不太了解虚拟机对电脑伤害大吗?下面就来了解下。虚拟机指的是在自己当前使用的操作系统基础上,安装并利用专门的虚拟机软件,虚拟出若干台计算机,这些虚拟的多台计算机每台有各自的CPU,内存,硬盘...Ready
有的小伙伴不太了解虚拟机对电脑伤害大吗?下面就来了解下。
虚拟机指的是在自己当前使用的操作系统基础上,安装并利用专门的虚拟机软件,虚拟出若干台计算机,这些虚拟的多台计算机每台有各自的CPU,内存,硬盘,光驱,软驱,网卡,声卡,键盘,鼠标,串口,并口,USB口等硬件设备,当然这些硬件都是虚拟的,实质上它们还是用计算机中相应的硬件,这些虚拟的计算机可以独立运行,安装各自的操作系统,应用软件,杀毒软件等等,就好像平时用计算机一样使用它们,也可以让它们连成一个网络。
真实计算机称为物理机,虚拟出来的计算机称为虚拟机,一台物理机上能虚拟出多少台虚拟机取决于物理机的硬盘容量,为一台虚拟机分配4G的硬盘空间,可以一次就为其分配4G的物理硬盘空间供其使用,能同时开机的虚拟机数量取决于物理机硬件配置,主要是CPU和内存,尤其是内存,因为虚拟机的CPU,内存这两个关键硬件资源都是使用物理机的CPU和内存,所以同时运行越多台虚拟机,对物理机的CPU和内存消耗也越大,速度越慢。在笔记本电脑上运行虚拟机相对台式电脑会慢点,毕竟笔记本电脑的硬盘读写速度比较慢,而虚拟机需要大量且经常读写硬盘。
-
VMware虚拟机挂起后是否占用内存?
2022-04-19 15:08:50VMware虚拟机挂起后,不会占用物理机的内存和CPU,虚拟机的环境会被写入磁盘。 再次启动虚拟机时从磁盘I/O读取之前虚拟机的环境,速度更快。 所以一般来说若明天还要用,不要将虚拟机直接关机,应选择将虚拟机【挂起...VMware虚拟机被挂起后,相当于休眠模式,给环境做了一个快照,虚拟机的环境变量会被写入磁盘,不会占用物理机的内存和CPU(证明:任务管理器中已无VMware的进程,不占用内存)。若是直接关机,虚拟机当时的环境不需要写入磁盘。
挂起后,由于有快照,保存了当时的环境变量,再次启动虚拟机时从磁盘I/O读取之前虚拟机的环境,速度更快。而虚拟机关机则不会保存环境,要重新开机。
结论:虚拟机无论挂起还是关机,都不会占用内存。但是挂起会多占用外存,用来保存当时的环境变量。关机则既不多占用内存,也不多占用外存。
所以一般来说若明天还要用,不要将虚拟机直接关机,应选择将虚拟机【挂起】。
-
【深入理解Java虚拟机】JVM内存区域
2021-03-13 23:45:22JVM内存区域JDK1.8前后,JVM内存区域的变化一、JDK1.8前二、JDK1.8之后线程共享一、堆Java 虚拟机所管理的内存中最大的一块,Java 堆是所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是... -
服务器虚拟机分配内存大小
2021-08-11 01:14:59服务器虚拟机分配内存大小 内容精选换一换开发者板形态下,使用16路推理进程并发对1080P图片进行处理,导致内存耗尽,内存申请失败后进程退出。为了防止抖动,默认情况下Engine队列大小为200,在上述场景下,队列... -
查看当前虚拟机分配的内存
2020-10-13 11:38:59public class MemoryDemo { ... //返回虚拟机使用的最大内存 long max = Runtime.getRuntime().maxMemory();//字节 1024*1024 //返回JVM的初始化总内存 long total = Runtime.getRuntime().totalMemory(); Syste -
有效减小虚拟机占的内存
2020-07-10 20:45:56我这个电脑内存少,D盘才350g,结果kali占了300g,主要的原因还是我的快照拍了比较多,平常拍快照可以避免我们操作失误导致系统崩溃,就算崩溃了还可以还原,这样确实挺好,但快照很占内存,如果是分散的快照还行,还... -
Mac虚拟机内存怎么分配?虚拟机内存不足解决办法
2021-05-11 14:34:59有不少Mac用户都安装了虚拟机软件,虚拟机可以让我们在 Mac 上运行各种平台的操作系统,如 Linux、Windows、Unix 等,它是用软件的方法来模拟一台真实的电脑,有自己的 CPU、内存、硬盘,光驱等硬件。对于不熟悉电脑... -
卸载虚拟机后仍占内存
2021-08-07 03:48:34卸载虚拟机后仍占内存 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。华为云帮助中心,为... -
PD虚拟机如何设置内存和CPU核心数
2022-04-12 14:05:55安装PD虚拟机后,觉得虚拟机内存太小,那么如何分配虚拟机内存呢?CPU核数该怎么设置?具体操作如下: 1、点Mac系统左上方的苹果小标志,选择关于本...处理器和内存,建议设置成MAC电脑的一半,我设置了4核心和8G内存 -
虚拟机占用磁盘的恢复方式。
2022-03-17 17:51:51虚拟机占用磁盘的恢复方式。电脑开机报磁盘问题恢复方法 -
虚拟机占用磁盘空间越来越大解决方案大总结
2021-08-13 15:24:49加粗样式虚拟机占用磁盘越来越大的解决方案大总结 在电脑上安装Vmware,安装ubuntu16.04 进行开发,使用过程中没有在意,忽然有一天发现磁盘空间快被占满了,经过排查是虚拟机的原因,具体的解决方法记录如下: 磁盘... -
如何解决VMware虚拟机占用磁盘空间太大问题
2019-08-23 11:44:58有的MAC小伙伴安装了VMware虚拟机,虚拟机在使用过程中,虚拟机文件会越来越大,所占宿主机磁盘空间也就越来越大,那应该如何解决呢?这里简单介绍下怎么在 Vmware 中为虚拟机清理磁盘空间的方法。 有的小伙伴可能... -
PD虚拟机最佳化内存设置,让Windows更加好用
2022-05-04 16:29:58PD虚拟机 for Mac是Mac平台上非常受欢迎的虚拟机软件,能够帮助用户轻松在Mac上运行Windows、Linux、Android 等多种操作系统,无需重启电脑,操作便捷!小编今天来手把手教你Parallels Desktop最佳化设置,让Windows... -
虚拟机占用物理磁盘空间不断增大,怎么清理?
2021-05-12 13:47:31解决办法: 方法一: 把一部分*sxxx....启动虚拟机即可。这方法没有释放空间。方法二: 在linux 里安装vmware-tools, 然后使用root,并在命令行下 vmware-toolbox 点选strike注意:该方法要保证你当前盘的空间>=要st... -
为什么安装了VM虚拟机以后,电脑刚开机内存就占用了70%以上,还没开虚拟机。求大佬解释
2020-05-06 13:52:47 -
深入理解Java虚拟机——堆内存的结构分析
2022-04-18 14:51:38深入理解Java虚拟机——堆内存的结构分析1. 先简单介绍几个常用的 jvm 参数1.1 设置堆空间大小的参数1.1.1 -Xms (-XX:InitalHeapSize)1.1.2 -Xmx (-XX:MaxHeapSize)1.1.3 -Xmn、-XX:NewSize1.1.4 - xx: ... -
利用Ubuntu的字符界面实现虚拟机的最小化内存占用+最快启动
2021-08-07 20:01:46每次电脑重启后的统一操作都是 启动Virtualbox -> 等待完全启动 -> 启动Putty -> SSH 远程登录到Ubuntu -> 启动Tmux 开启多个标签页。这个些操作由于过于统一和频繁,因此在很早之前就已经被自动化了... -
笔记本装VMware虚拟机,卸载后,内存释放不了,非页面缓冲池占用大量内存
2014-11-07 17:17:43管理员运行CMD命令,输入...仅供尝试,我当时卸载虚拟机后非页面缓冲池占用内存1.6G,开机内存直接占用50%,考虑重装系统还要装一大堆软件麻烦,就尝试所有搜索得来的办法,死马当活马医,居然成功了! 转载于:... -
使用32G内存的电脑是什么样的体验?
2021-08-11 05:43:36原标题:使用32G内存的电脑是什么样的体验?大内存的用户一般是不关机的,不关机才能享受到大内存的优势。现代主流的桌面操作系统(Win7以上,或者Linux,或者OSX)会把全部的剩余内存用作硬盘缓存,这部分内存不显示... -
Parallels Desktop虚拟机占用过大空间的问题
2020-02-19 10:32:40在Terminal执行如下命令 prl_disk_tool merge --hdd 你的虚拟机文件路径 prl_disk_tool merge --hdd /Users/houzhipeng/Parallels/Windows\ 7.pvm/Windows\ 7-0.hdd -
VMware虚拟机磁盘操作占用过高问题
2017-06-26 00:09:03明明主机内存有8G,分配给虚拟机的内存也不少,为什么就这么卡顿。打开主机上的任务管理器查看发现磁盘占用百分百,原来是磁盘读写的锅。但是我就觉得特别好奇,为什么在虚拟机中打开一个网页会导致长时间的磁盘操作... -
虚拟机安装系统本地磁盘占用爆表问题
2021-08-06 23:53:43关于虚拟机磁盘占用 虚拟机创建在 windows 中,Linux (Ubuntu 20.04) 创建在虚拟机,虽然在 Linux 系统中进行了缓存删除之类的,但是在 Windows 中的虚拟磁盘文件并没有删除相关文件,也就是说 windows 中的虚拟磁盘... -
查看系统中java进程及虚拟机内存情况的命令
2021-03-16 13:45:21查看Linux系统中java进程及虚拟机内存情况的命令 查看系统中有哪些java进程,命令jps 查看有哪些进程分别占用哪些端口,命令 netstat -ntlp 查看指定java进程占用的内存情况,命令jmap -heap PID 查看本机JVM的... -
VMware Linux虚拟机CPU占用过高
2020-12-06 11:05:52虚拟机内存占用过高是一个巨大的问题,之前已经讲过,而CPU占用过高更是重上加重,今天就来讲讲CPU占用过高的解决方法 CPU占用过高其实很简单,总共有两个解决方法,两个方法同时使用效率更高 增加虚拟机CPU数量 在...