From 3d6da1905ca3eed70a99420661cec28d6e7e05c3 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sun, 22 Nov 2020 07:40:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AF=8F=E5=88=86=E9=92=9F=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=89=93=E5=8D=B0=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/thread/task/MinuteTask.java | 62 ++++++++++++------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java index 1f2df27e2..1985685ea 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java @@ -39,11 +39,15 @@ import com.ljsd.jieling.logic.store.BuyGoodsLogic; import com.ljsd.jieling.logic.store.StoreLogic; import com.ljsd.jieling.network.server.ProtocolsManager; import com.ljsd.jieling.util.MessageUtil; +import io.netty.util.internal.PlatformDependent; import manager.STableManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.util.ReflectionUtils; +import java.lang.reflect.Field; import java.util.*; +import java.util.concurrent.atomic.AtomicLong; public class MinuteTask extends Thread { private static final Logger LOGGER = LoggerFactory.getLogger(MinuteTask.class); @@ -104,12 +108,12 @@ public class MinuteTask extends Thread { e.printStackTrace(); LOGGER.error("Exception::=>{}",e.toString()); } - try { - fiveMinuteOnlineSend(); - }catch (Exception e){ - e.printStackTrace(); - LOGGER.error("Exception::=>{}",e.toString()); - } +// try { +// fiveMinuteOnlineSend(); +// }catch (Exception e){ +// e.printStackTrace(); +// LOGGER.error("Exception::=>{}",e.toString()); +// } try { CheckFight.getInstance().luaHotFix(); MongoUtil.getInstence().lastUpdate(); @@ -150,29 +154,30 @@ public class MinuteTask extends Thread { - + directMemoryGet();//打印堆外内存 LOGGER.info("MinuteTask end..."); } catch (Exception e) { LOGGER.error("e",e); } } - private void fiveMinuteOnlineSend() { - Calendar calendar = Calendar.getInstance(); - int minute = calendar.get(Calendar.MINUTE); - if(minute%5 == 0){ - KTAppOnline ktAppOnline = new KTAppOnline(); - int onlineNum = OnlineUserManager.sessionMap.size(); - ParamEventBean paramEventBean = new ParamEventBean(ParamEventBean.OnlineEvent); - int time =(int)(calendar.getTimeInMillis()/1000); - paramEventBean.add(String.valueOf(time)); - paramEventBean.add(String.valueOf(onlineNum)); - ktAppOnline.setParam_event(paramEventBean); - ktAppOnline.setParam_data(KtBeanBuilderUtils.paramDataBuildForSystem()); - ktAppOnline.getParam_data().setCategory_s(LoginParamType.DATA_CATEGORY_APP); - DataMessageUtils.addLogQueue(ktAppOnline); - } - } + //弃用 +// private void fiveMinuteOnlineSend() { +// Calendar calendar = Calendar.getInstance(); +// int minute = calendar.get(Calendar.MINUTE); +// if(minute%5 == 0){ +// KTAppOnline ktAppOnline = new KTAppOnline(); +// int onlineNum = OnlineUserManager.sessionMap.size(); +// ParamEventBean paramEventBean = new ParamEventBean(ParamEventBean.OnlineEvent); +// int time =(int)(calendar.getTimeInMillis()/1000); +// paramEventBean.add(String.valueOf(time)); +// paramEventBean.add(String.valueOf(onlineNum)); +// ktAppOnline.setParam_event(paramEventBean); +// ktAppOnline.setParam_data(KtBeanBuilderUtils.paramDataBuildForSystem()); +// ktAppOnline.getParam_data().setCategory_s(LoginParamType.DATA_CATEGORY_APP); +// DataMessageUtils.addLogQueue(ktAppOnline); +// } +// } //每分钟异步上报在线人数 private void reportUserOnline() { new OnlineUserReportTask().start(); @@ -272,5 +277,16 @@ public class MinuteTask extends Thread { } } + public void directMemoryGet(){ + Field field = ReflectionUtils.findField(PlatformDependent.class,"DIRECT_MEMORY_COUNTER"); + field.setAccessible(true); + try { + AtomicLong direct = (AtomicLong)field.get(PlatformDependent.class); + LOGGER.info("directMemoryGet 堆外大小=>{}", direct.get()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + }