X系统OOM问题分析报告

问题描述

10月9日、11月2日、11月3日,X系统发生了三次OOM情况,均表现为出现长时间未提交事务,随后引发OOM情况。

问题分析

从生产及测试环境堆Dump发现,发生OOM时内存中均有大量的DelegatingDatabaseMetadata类的对象未释放。从测试环境的复现结果看,该对象在发生OOM时占用内存达60%-70%左右。单一对象大小为20328B,堆Dump时共有49037个对象。

DelegatingDatabaseMetadata类为DBCP数据源的代理类。在每次与数据源进行交互时,均会创建该类的对象。理论上在完成与数据库交互后,相应对象即可以被标记为可释放。DelegatingDatabaseMetadata类继承AbandonedTrace类。AbandonedTrace类被用作DBCP数据源的追踪,DBCP要求所有代理类均需继承该类。根据AbandonedConfig配置情况决定该类的执行情况。

AbandonedConfig共有三个参数可配置,分别为removeAbandoned(移除作废链接),logAbandoned(记录作废链接日志),removeAbandonedTimeout(作废链接超时设置)。

继续阅读X系统OOM问题分析报告

本站启用HTTPS访问

本站自即日(2020年3月8日)起启用HTTPS访问。本文记述一下阿里云ECS启用HTTPS的过程。

HTTPS是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。在HTTP协议的基础上,HTTPS增加了SSL层,用于安全验证和加密。

本站部署在阿里云ECS上,因此启用HTTPS的第一步便是申请阿里云的SSL证书。在阿里云的管理控制台,点击左侧汉堡菜单,选择“产品与服务”->“安全(云盾)”->“SSL证书(应用安全)”。

继续阅读本站启用HTTPS访问

利用RemoteApp和Continuum,实现Windows Mobile 10手机运行云x86程序——发布和手机端配置

6、DNS配置和RemoteApp发布

若在服务器配置时输入的域名是仅在局域网内使用的,则在公网的DNS服务器上是没有该域名的解析记录的。因此,若要使用手机访问RemoteApp服务器,需要将域控制器的IP添加到DNS服务器中。

目前主流的路由器均支持手动设置DNS服务器。在域控制器的”网络和共享中心”,点击当前活动网络,在弹出的网络状态窗口中选择”详细信息”,找到”IPv4地址”项,即为DNS服务器地址。

继续阅读利用RemoteApp和Continuum,实现Windows Mobile 10手机运行云x86程序——发布和手机端配置

利用RemoteApp和Continuum,实现Windows Mobile 10手机运行云x86程序——网关和证书配置

4、服务器网关配置

配置网关是为了使局域网内的机器都能访问到RemoteApp服务器。在”服务器管理器”,打开”远程桌面服务”,在”概述”页点击”RD网关”,选择当前服务器,添加到”已选择”项中,确认选择,在SSL证书中输入服务器域名,一般为:机器名.域名。

添加RD网关
添加RD网关

在”服务器管理器”中选择”工具”->”Remote Desktop Service”->”远程桌面网关管理器”。在打开的窗口中选择当前服务器,右击,选择”属性”。

继续阅读利用RemoteApp和Continuum,实现Windows Mobile 10手机运行云x86程序——网关和证书配置

利用RemoteApp和Continuum,实现Windows Mobile 10手机运行云x86程序——授权

3、远程桌面授权

Windows Server 2016默认提供120天的远程桌面试用。因此,若想长期使用RemoteApp,首先需要激活远程桌面授权。在”服务器管理器”中选择”工具”->”Remote Desktop Service”->”远程桌面授权管理器”。

打开远程桌面管理器
打开远程桌面管理器
继续阅读利用RemoteApp和Continuum,实现Windows Mobile 10手机运行云x86程序——授权