Weblogic admin server与manager server内存分配缺陷优化

1、admin server与manager server内存分配缺陷描述

Weblogic服务器一般会为每一个业务系统设计一个或多个域(domain),每一个域(domain)服务主体必须由Admin server和Manage Server两类Server组成,两类Server都需要占用一定的内存资源(人工配置),Manage Server负责运行业务,Admin Server则只负责管理Manage Server,只是在启动Weblogic和需要调整Weblogic配置时才使用,启动Weblogic后,Admin
Server关闭也不影响业务的正常使用,所以Manage Server确实需要大内存支持,但Admin Server则只需要500MB左右内存来维持它开启着随时待命而已。

Admin server和Manage Server默认设计获取内存配置的方式为:共同调用WEBLOGIC安装目录bea/user_projects/domain/{domain_name}/bin目录下的setDomainEnv.sh文件中的“MEM_ARGS”参数来获取内存大小,导致Admin server和Manage Server都获取到了相同大小的内存。

例如:因为业务的性能需要为Manage Server配置4GB内存,即在setDOMAINenv.sh文件中配置4GB的内存大小,


MEM_ARGS="-Xms4096m -Xmx4096m

这样,Manage Server确实可以获得4GB内存,但是,每个Domain(域)下面的Admin Server也同样获得了4GB,Admin Server在此浪费3.5GB内存,如果一个系统有多个Domain(域),或是一台服务器上部署有多套系统的Weblogic,浪费的内存总数则需相乘。

上述情况属于Weblogic设计与配置上存在的双重缺陷。

2、admin server与manager server内存分配缺陷带来的影响

(1)、多套系统共用服务器,以分别创建不同域的方式区分系统,或,一套系统,不同的模块分别以创建不同域来隔离模块服务的方式,形成了一台Weblogic服务器上创建了多个域的情况,每一个域必定有一个Admin Server,使得多个Admin server存在于同一台服务器上的现实情况,在大型公司中,由于中间件服务器数量的庞大,对硬件设备的浪费是惊人的。

(2)、在内存配置本身不富裕的系统中,浪费的大量内存使得系统性能急剧下降,甚至引起服务器停止响应与down机

(3)、由于Admin Server浪费了不必要的内存空间,原本可以将多套系统Weblogic共同部署于同一台服务器即可解决的,不得不再多配置一台服务器设备,不仅是硬件设备资源的浪费,还会加大运维人力资源的投入、电力资源的投入、机房空间资源的投入、网络设备资源的投入等等

3、优化策略

3.1内存获取方式架构设计优化调整

3.1.1优化前旧架构(默认)

3.1.2优化后新架构

3.2 内存获取配置代码调整

为每个DOMAIN(域)的bin目录下startWebLogic.sh文件,增加以下内容:

在 echo "JAVA Memory arguments:${MEM_ARGS}" 前面加入如下行:


if [ "${SERVER_NAME}" = "AdminServer" ] ; then

MEM_ARGS="-Xms512m  -Xmx512m -XX:MaxPermSize=256m"

Fi

重启Weblogic即调整完毕。

本文作者:黎俊杰(网名:踩点),从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作

欢迎加入 系统性能优化专业群,共同探讨性能优化技术。群号:258187244

时间: 2024-10-29 19:06:22

Weblogic admin server与manager server内存分配缺陷优化的相关文章

Android上的内存分配策略优化

在Android上,其实自身有一套完善的内存管理机制.但由于我们深受Windows和塞班的毒害,每当看到手机剩余内存只有30m时,就觉得非常不爽,总是希望通过一些工具清理一下内存,而当Toast显示已经为你清理500m内存时,就会产生无比的快感.比如管家的小火箭发射,就是利用了这种用户心理. 所以,那些内存清理工具在windows上是很有必要的,但在Android上,实属多此一举.至于进程的优先级以及memorykiller的管理机制,系统是通过oom_adj来进行管理,这个可以通过之前小管的一

08.Redis内存分配与优化

Redis中的数据都是存放到内存中的,这个跟redis的持久化无关哈(持久化只是相当于做备份).然而每台服务器的内存都是有限的,那么如何分配内存给Redis使用呢? A:首先要知道,redis默认是没有对可以使用多少内存做限制的,这样如果数据量大了的时候就会耗掉你 服务器所有的内存.导致你都无法进行维护. B:设置Redis可以使用的最大内存是通过maxmemory参数来设置,例如:maxmemory 10GB C:生产中给redis分配最大内存的参照如下所示: ## 对数据持久化的需求(不管你

SQL Server ->> Memory Allocation Mechanism and Performance Analysis(内存分配机制与性能分析)之 -- Minimum server memory与Maximum server memory

Minimum server memory与Maximum server memory是SQL Server下配置实例级别最大和最小可用内存(注意不等于物理内存)的服务器配置选项.它们是管理SQL Server内存的途径之一. Minimum server memory与Maximum server memory Minimum server memory(MB): 最小服务器内存.一旦超过这个线就不会再把内存换回去.但是也不是说SQL Server一启动马上就申请这么多的内存. Maximum

[转]内存分配malloc, new , heapalloc

这里比较的VC++编译的C++代码中的性能 我用的是VC6.0测试的 就不介绍这几个的用法了 我写了一段简单的测试代码 测试结果是: malloc:390new:391VirtualAlloc:454HeapAlloc:47 很明显的是HeapAlloc分配速度最快,malloc次之,new和malloc差不多,VirtualAlloc最慢了(以前小强跟我说这个最快) 我有跟踪了一下 new调用了这段代码 void * __cdecl _nh_malloc ( size_t nSize, int

SQL SERVER 内存分配及常见内存问题(1)——简介

原文:SQL SERVER 内存分配及常见内存问题(1)--简介 一.问题: 1.SQL Server 所占用内存数量从启动以后就不断地增加: 首先,作为成熟的产品,内存溢出的机会微乎其微.对此要了解SQL SERVER与windows是如何协调.共享内存.并且SQL SERVER的内部对内存的管理机制. 2.在Windows 2003以上版本运行的SQL Server,内存使用量突然急剧下降: 内存是Sqlserver的生命线.在errorlog中,出现一下情况:       这类问题往往不是

WLST connecting to WebLogic Admin Server failed : Bootstrap to [IP:Port] failed. It is likely that the remote side declared peer gone on this JVM

转载自: http://onlineappsdba.com/index.php/2014/02/18/wlst-connecting-to-weblogic-admin-server-failed-bootstrap-to-ipport-failed-it-is-likely-that-the-remote-side-declared-peer-gone-on-this-jvm/ WebLogic Scripting Tool (WLST) is a command-line scripting

SQL SERVER 内存分配及常见内存问题(2)——DMV查询

原文:SQL SERVER 内存分配及常见内存问题(2)--DMV查询 内存动态管理视图(DMV): 从sys.dm_os_memory_clerks开始. SELECT [type] , SUM(virtual_memory_reserved_kb) AS [VM Reserved] , SUM(virtual_memory_committed_kb) AS [VM Committed] , SUM(awe_allocated_kb) AS [AWE Allocated] , SUM(shar

Cloudera Manager Server CDH 5.15部署

安装前准备 主机和系统 Host OS Memory IP bigdata001-dev Cent OS 7.4 x64 32G 192.168.1.1 bigdata002-dev Cent OS 7.4 x64 32G 192.168.1.2 bigdata003-dev Cent OS 7.4 x64 15G 192.168.1.3 bigdata004-dev Cent OS 7.4 x64 32 192.168.1.4 安装包下载 下载 cloudera-manager.repo 文件

疑难杂症--SQL SERVER 2012下数据库内存异常回收

--=================================================================== --背景: 在一台SQL SERVER 2012 SP1(11.0.3000)服务器上,由于批处理请求较高,CPU使用率超过40%,于是开始各种调研.. 服务器情况: 服务器物理内存为128GB, 分配给SQL SERVER 115GB,Windows 可用物理内存为6GB左右 压力情况: 批处理请求超过30000+,有大量UPDATE和INSERT操作,C