ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

java-高交换内存利用率

2019-10-13 19:13:22  阅读:230  来源: 互联网

标签:java java-ee solaris


服务器配置:

>物理内存-16Gb
>交换内存-27Gb
>操作系统-Solaris 10
>物理内存免费-598 Mb
>使用交换内存-〜26Gb
> Java版本-Java HotSpot(TM)服务器VM-1.6.0_17-b04

我的任务是减少已用的交换内存:
我有的解决方案

>停止所有Java应用程序,然后等待直到物理内存被充分释放.然后
执行命令“ swapoff -a”(尚未找到此命令的Solaris等效项)…等待,直到使用的交换内存减少到零为止.然后执行命令“ swapon -a”
>增加物理内存

我需要以下几点帮助:

>相当于solaris的交换和交换?
>选项1是否可以清除已用的交换?

太感谢了!!!

解决方法:

首先,Java和swap不能混合使用.如果您的Java应用程序正在交换,那么您注定要失败.很少有东西会像交换的Java进程那样杀死机器. GC和交换只是一场噩梦.

因此,鉴于此,如果您使用Java进程的机器正在交换-该机器太小了.获取更多的内存,或减少机器上的负载(如果可能的话,包括java进程的堆).

您的计算机没有物理内存(600ish Mb),也没有可用的交换空间(1ish Gb),这是计算机过载的另一个指标.

当资源耗尽时,各种各样的事情都可能使Java进程出错.

杀死Java进程将“使它退出交换”,因为该进程不存在,所以不能进行交换.其他所有过程相同. “交换内存”可能不会立即崩溃,但是如果一个进程不存在-它就不能交换(除非使用永久交换共享内存缓冲区,否则该缓冲区会被交换出去,而Java通常不会使用那些.)

我不知道有什么好方法告诉操作系统将特定程序锁定到物理RAM并阻止其被调出.而且,坦率地说,您不想.

无论占用您所有的RAM,您都需要认真考虑减少其占用空间,或将Java进程移出该计算机.您只是在艰难地奔跑,这块石头就再也没有血迹.

标签:java,java-ee,solaris
来源: https://codeday.me/bug/20191013/1909958.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有