debian

Debian系统中WebLogic资源限制设置

小樊
49
2025-10-25 15:00:03
栏目: 智能运维

一、操作系统级资源限制设置(Debian基础配置)
操作系统级的资源限制是WebLogic稳定运行的基础,需通过以下步骤配置:

  1. 临时设置(仅当前会话有效)
    使用ulimit命令快速调整当前终端的资源限制,适用于测试环境:

    # 查看当前所有资源限制
    ulimit -a  
    # 设置最大打开文件描述符数量(软限制4096,硬限制8192)
    ulimit -n 4096  
    # 设置最大用户进程数(软限制1024,硬限制2048)
    ulimit -u 1024  
    # 设置内存使用上限(单位:KB,此处设置为无限制)
    ulimit -m unlimited  
    

    注:临时设置仅在当前终端有效,关闭后失效。

  2. 永久设置(系统级持久生效)
    需修改系统配置文件,使限制对所有用户(包括WebLogic启动用户)生效:

    • 修改/etc/security/limits.conf
      编辑该文件,添加针对WebLogic用户(如weblogic)的限制:

      sudo nano /etc/security/limits.conf  
      

      添加以下内容(soft为软限制,hard为硬限制):

      weblogic soft nofile 4096
      weblogic hard nofile 8192
      weblogic soft nproc 1024
      weblogic hard nproc 2048
      

      注:nofile表示最大打开文件数,nproc表示最大进程数,可根据实际需求调整。

    • 配置PAM会话加载pam_limits.so
      确保PAM模块在用户登录时应用限制,编辑以下文件:

      sudo nano /etc/pam.d/common-session  
      sudo nano /etc/pam.d/common-session-noninteractive  
      

      在文件末尾添加:

      session required pam_limits.so  
      

      保存后,重新登录用户或重启系统使配置生效。

    • 配置systemd服务限制(若WebLogic以systemd方式启动)
      若WebLogic通过systemd服务(如weblogic.service)启动,需修改systemd的全局配置:

      sudo nano /etc/systemd/system.conf  
      sudo nano /etc/systemd/user.conf  
      

      添加以下内容(针对所有用户或特定用户):

      DefaultLimitNOFILE=4096
      DefaultLimitNPROC=1024
      

      保存后,重新加载systemd配置:

      sudo systemctl daemon-reload  
      

      重启WebLogic服务使限制生效。

    • 调整系统全局文件描述符限制(可选)
      若需提高系统整体的文件描述符上限,编辑/etc/sysctl.conf

      sudo nano /etc/sysctl.conf  
      

      添加以下内容:

      fs.file-max = 100000  
      

      应用更改:

      sudo sysctl -p  
      

      注:此设置影响系统所有进程,需根据服务器资源调整。

二、WebLogic自身资源限制设置(应用层优化)
操作系统级设置仅为WebLogic提供了基础资源边界,还需通过WebLogic配置调整应用层资源:

  1. JVM内存配置(关键优化项)
    JVM内存设置直接影响WebLogic的性能和稳定性,需通过以下方式调整:

    • 修改启动脚本(推荐)
      编辑WebLogic Domain的bin/startWebLogic.sh(Debian下路径通常为/home/weblogic/user_projects/domains/base_domain/bin/startWebLogic.sh),在脚本开头添加:

      export JAVA_OPTIONS="${JAVA_OPTIONS} -Xms2g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200"  
      

      注:-Xms为初始堆内存(如2GB),-Xmx为最大堆内存(如4GB),-XX:+UseG1GC启用G1垃圾回收器(适用于高并发场景),-XX:MaxGCPauseMillis设置最大GC停顿时间(如200ms)。

    • 修改config.xml(可选)
      若需通过WebLogic Console管理,可直接编辑Domain的config/config.xml文件,找到对应Server节点,添加JVM参数:

      <server>
          <name>AdminServer</name>
          <JVM>
              <options>
                  <option>-Xms2g</option>
                  <option>-Xmx4g</option>
              </options>
          </JVM>
      </server>
      

      修改后需重启WebLogic生效。

  2. 线程池配置(处理并发请求)
    调整线程池大小以平衡并发处理能力和系统资源占用:

    • 通过WebLogic Console设置
      登录WebLogic Console(http://<host>:7001/console),导航至Environment → Servers → <Your Server> → Configuration → Thread Pools,选择默认线程池(如weblogic.kernel.Default),修改Maximum Thread Count(如200)和Minimum Thread Count(如10),点击Save并重启服务器。

    • 通过启动脚本设置
      编辑setDomainEnv.sh(路径同startWebLogic.sh),添加JVM参数:

      export JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.threadpool.MinThreads=10 -Dweblogic.threadpool.MaxThreads=200 -Dweblogic.threadpool.QueueCapacity=100"  
      

      注:MinThreads为最小线程数(如10),MaxThreads为最大线程数(如200),QueueCapacity为队列容量(超出队列的请求将被拒绝)。

  3. 数据库连接池配置(减少数据库瓶颈)
    优化连接池以提升数据库访问效率:

    • 通过WebLogic Console设置
      登录WebLogic Console,导航至Services → Data Sources → <Your DataSource> → Configuration → Connection Pool,修改Initial Capacity(初始连接数,如10)、Max Capacity(最大连接数,如50)、Statement Cache Size(语句缓存,如100),点击Save并重启服务器。

    • 通过启动脚本设置
      编辑setDomainEnv.sh,添加JVM参数:

      export JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.jdbc.initialCapacity=10 -Dweblogic.jdbc.maxCapacity=50 -Dweblogic.jdbc.statementCacheSize=100"  
      

三、验证配置生效

注意事项

0
看了该问题的人还看了