新blog地址:http://hengyunabc.github.io/netstat-difference-proc-fd-socket-stat/最近,线上一个应用,发现socket数缓慢增长,并且不回收,超过警告线之后,被运维监控自动重启了。首先到zabbix上观察JVM历史记录,发现JVM-Perm space最近两周没有数据,猜测是程序从JDK7切换到JDK8了。问过开发人员之后,程序已经...
分类:
Web程序 时间:
2015-02-17 11:42:43
阅读次数:
685
性能劣化随着代码写得越来越烂,程序运行时数据库操作更多、IO阻塞等待跟过、不必要的对象创建、GC回收更频繁,线程的上下文切换也更多,开销越来越多,所有因素综合起来,程序运行更慢,响应延迟加大。当到达临界点的时候,压垮骆驼的最后一根稻草出现了,系统直接崩溃。坏东西、副作用是会累积的。代码的实现一直保持...
分类:
其他好文 时间:
2015-02-15 20:31:40
阅读次数:
128
方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache方法2:$savePath = "./session_save_dir/";$lifeTime = 小时 * 秒;session_save_path($savePath);session_set_c...
分类:
其他好文 时间:
2015-02-14 16:13:32
阅读次数:
120
也就是说,在对象被回收之前,需要执行finalize方法,而finalize方法的执行又是需要排着队由某个线程来一个个消费的。下面我们通过会阻塞住的finalize方法来验证看看,...
分类:
其他好文 时间:
2015-02-13 22:29:52
阅读次数:
246
lua内存泄露
首先第一点,lua中的内存泄露和我们所说的c/c++中的内存泄露本质上是不一样的。
lua中有垃圾回收机制(GC),所以理论上是不会有内存泄露的。当它进行GC的时候,会从根部开始扫描所有的对象,如果某个地方对这个对象还有引用,就不会把这个对象内存collect,这个对象就没有被GC。所以lua中的内存泄露是指那些:已经没有被使用了,但外部依然还有引用存在的对象。
--函数...
分类:
其他好文 时间:
2015-02-13 16:41:04
阅读次数:
158
前言:刚开始写这篇文章的时候选了一个很土的题目。。。《Unity3D优化全解析》。因为这是一篇临时起意才写的文章,而且陈述的都是既有的事实,因而给自己“文(dou)学(bi)”加工留下的余地就少了很多。但又觉得这块是不得不提的一个地方,平时见到很多人对此处也给予了忽略了事,需要时才去网上扒一些只言片...
分类:
其他好文 时间:
2015-02-13 10:11:33
阅读次数:
463
1.1 不允许左花括号另起一行1.2 编译器莫名其妙地给行尾加上分号1.3 极度强调编译速度,不惜放弃本应提供的功能1.4 错误处理机制太原始1.5 垃圾回收器(GC)不完善、有重大缺陷1.6 禁止未使用变量和多余import1.7 创建对象的方式太多令人纠结1.8 对象没有构造函数和析构函数1.9...
分类:
其他好文 时间:
2015-02-13 06:58:25
阅读次数:
193
在CentOS 6.4中编译安装gcc 4.8.1分类:C/C++Linux/Unix2013-11-28 21:021877人阅读评论(0)收藏举报原文链接:http://www.cnblogs.com/codemood/archive/2013/06/01/3113200.html1. 安装gc...
分类:
其他好文 时间:
2015-02-13 00:15:36
阅读次数:
176
Spark应用程序处理的大数据多是运行于JVM上的,经常要面对GC优化问题。下面给出由于Linux系统原因导致的GC耗时异常的处理方式:打开Spark的GC日志,在spark-env.sh文件中的SPARK_JAVA_OPTS参数上添加-verbose:gc-XX:+PrintGCDetails-X...
分类:
其他好文 时间:
2015-02-11 00:30:58
阅读次数:
304
==仅方便后续参考==GC日志配置-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:servers/%SERVER_NAME%_gc.log -XX:+HeapDumpOnOutOfMemoryError注意,%SERVER_NAME%是win格式...
分类:
其他好文 时间:
2015-02-10 23:01:53
阅读次数:
928