由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 好吧,Disable GC的问题
相关主题
更多的关于Java GCGoodbug再来赌一把1M/s计数器如何?Java实现
Java真的不能disable GC么?魏老师不懂gc机制
java 真不适合12306一类的网站如何实现微秒精度的time stamp
a C questioncode profiling 的问题
问两个C++面世小问题计算机供电不稳定会影响程序/线程运行吗?
请教一个javascript的heap的问题。 (转载)请教个JAVA的小问题
弱问:C#定义的class里面直接new出来的成员存在了哪里?我也请问一个multi-thread的问题
std::vector里面的object存在哪里?多线程 编程,process 和 thread 的一些问题。
相关话题的讨论汇总
话题: gc话题: jboss话题: disable话题: 系统话题: java
进入Programming版参与讨论
1 (共1页)
T********i
发帖数: 2416
1
2008年我做过一个实时Java系统,用Object Pool + RTSJ,响应能达到两位数的微秒。
这个每天要重启数次的系统。不是我的系统。用Java做的。干脆就是连Object pool都
懒得用。是2010年以后做的新系统。现在还在production。
这个系统号称是disable GC。现在看来也可能是不停monitor heap。别人的系统我没兴
趣搞细节。但是其以前用户是我的搭档。每天可控的重启是肯定的。
我当时想说的是,即使用duct tape做一个系统,也能用。
g*****g
发帖数: 34805
2
object pool 在哪里你弄明白了吗, object跟 class的区别你弄明白了吗?三天不打
脸就难受是吧。

【在 T********i 的大作中提到】
: 2008年我做过一个实时Java系统,用Object Pool + RTSJ,响应能达到两位数的微秒。
: 这个每天要重启数次的系统。不是我的系统。用Java做的。干脆就是连Object pool都
: 懒得用。是2010年以后做的新系统。现在还在production。
: 这个系统号称是disable GC。现在看来也可能是不停monitor heap。别人的系统我没兴
: 趣搞细节。但是其以前用户是我的搭档。每天可控的重启是肯定的。
: 我当时想说的是,即使用duct tape做一个系统,也能用。

T********i
发帖数: 2416
3
你这个就无聊了吧?
我多年前曾经费尽心思要找把数据allocate在permgen的方法。看来这个Java还是个费
二遍事的。

【在 g*****g 的大作中提到】
: object pool 在哪里你弄明白了吗, object跟 class的区别你弄明白了吗?三天不打
: 脸就难受是吧。

z****e
发帖数: 54598
4
啧啧
这个还用找么?
一个关键字就放过去了

【在 T********i 的大作中提到】
: 你这个就无聊了吧?
: 我多年前曾经费尽心思要找把数据allocate在permgen的方法。看来这个Java还是个费
: 二遍事的。

z****e
发帖数: 54598
5
内行一听就知道disable gc是bullshit
这都能被忽悠
T********i
发帖数: 2416
6
多年不用。没牵狗。我的错误我认。
但是这个每天到时停止交易recycle的Java系统倒是客观存在。每年维护就要上百万。
也算是Java系统的一个典范吧。

【在 z****e 的大作中提到】
: 啧啧
: 这个还用找么?
: 一个关键字就放过去了

z****e
发帖数: 54598
7
gc到点执行
这个倒是可以实现的
这些年gc策略也作了很大调整
各种策略各有优劣
一个比较常见的
简单说就是,先GC,要求GC停顿控制在一定时间范围之内
如果超过了,就先停止gc,继续执行,等下一个再执行gc
哪怕用system.gc()也可以做到一些非精确的GC执行
你离开这行是有些年头了

【在 T********i 的大作中提到】
: 多年不用。没牵狗。我的错误我认。
: 但是这个每天到时停止交易recycle的Java系统倒是客观存在。每年维护就要上百万。
: 也算是Java系统的一个典范吧。

T********i
发帖数: 2416
8
这个可能是实时监测heap。也是我想复杂了。
我任何应用都能用更简单的方法完成,为啥要用Java呢?

【在 z****e 的大作中提到】
: gc到点执行
: 这个倒是可以实现的
: 这些年gc策略也作了很大调整
: 各种策略各有优劣
: 一个比较常见的
: 简单说就是,先GC,要求GC停顿控制在一定时间范围之内
: 如果超过了,就先停止gc,继续执行,等下一个再执行gc
: 哪怕用system.gc()也可以做到一些非精确的GC执行
: 你离开这行是有些年头了

x****u
发帖数: 44466
9
你这个实时没考虑的修改系统的时间吧。

【在 T********i 的大作中提到】
: 这个可能是实时监测heap。也是我想复杂了。
: 我任何应用都能用更简单的方法完成,为啥要用Java呢?

T********i
发帖数: 2416
10
不懂。

【在 x****u 的大作中提到】
: 你这个实时没考虑的修改系统的时间吧。
相关主题
请教一个javascript的heap的问题。 (转载)Goodbug再来赌一把1M/s计数器如何?Java实现
弱问:C#定义的class里面直接new出来的成员存在了哪里?魏老师不懂gc机制
std::vector里面的object存在哪里?如何实现微秒精度的time stamp
进入Programming版参与讨论
c******3
发帖数: 296
11
许多公司会半夜重启服务器,周末重启桌面。效果上和GC差不多,顺带把OS里的垃圾也
清了。
T********i
发帖数: 2416
12
我的一些process做成service跟机器走。经常一年半载才想起重启一下。

【在 c******3 的大作中提到】
: 许多公司会半夜重启服务器,周末重启桌面。效果上和GC差不多,顺带把OS里的垃圾也
: 清了。

c******3
发帖数: 296
13
jboss不是一般的烂,不时不时重启一下,就死给你看。
z****e
发帖数: 54598
14
这个多半是你们写的代码内存泄露了
找个工具来看看哪里ref没有释放吧

【在 c******3 的大作中提到】
: jboss不是一般的烂,不时不时重启一下,就死给你看。
c******3
发帖数: 296
15
这是很可能的。但有意思的是有时jboss重启也启不来,最后只好把cluster里的jboss
都重启一遍。jboss来人看了一下,也没分析出个结果。

【在 z****e 的大作中提到】
: 这个多半是你们写的代码内存泄露了
: 找个工具来看看哪里ref没有释放吧

h**********c
发帖数: 4120
16
met similiar problem. My personal analysis is that in the application
holding some system resource socket etc. not confirmed
finally run a cron job, undeploy the app/ redeploy the app, restart jboss at
midnight when no users. That is a single jboss not in cluster.

jboss

【在 c******3 的大作中提到】
: 这是很可能的。但有意思的是有时jboss重启也启不来,最后只好把cluster里的jboss
: 都重启一遍。jboss来人看了一下,也没分析出个结果。

z****e
发帖数: 54598
17
都是老大难问题
这种我也没有特别好的办法
我看stackoverflow上也没啥特别好的方法
也只能一点一点分析
http://stackoverflow.com/questions/40119/how-to-find-a-java-mem

jboss

【在 c******3 的大作中提到】
: 这是很可能的。但有意思的是有时jboss重启也启不来,最后只好把cluster里的jboss
: 都重启一遍。jboss来人看了一下,也没分析出个结果。

b********e
发帖数: 595
18

jboss
内存泄漏不太容易查,不知道这些年是不是进步了,以前的时候只能heap dump,多dump
几次比较,生产上dump经常就死菜了,线下测只能靠猜。
一般都是先试thread dump,tda分析,只能大概看看jvm里面thread调用和锁定关系。

【在 c******3 的大作中提到】
: 这是很可能的。但有意思的是有时jboss重启也启不来,最后只好把cluster里的jboss
: 都重启一遍。jboss来人看了一下,也没分析出个结果。

z****e
发帖数: 54598
19
re这个
内存泄露,死锁都是一般大项目中灰常头疼的问题

dump

【在 b********e 的大作中提到】
:
: jboss
: 内存泄漏不太容易查,不知道这些年是不是进步了,以前的时候只能heap dump,多dump
: 几次比较,生产上dump经常就死菜了,线下测只能靠猜。
: 一般都是先试thread dump,tda分析,只能大概看看jvm里面thread调用和锁定关系。

b********e
发帖数: 595
20

这些是通过G1的参数控制的吧,自己控制gc的好像最开始有过,后来都是换不同的gc,
设置下参数,一般都能控制好了。有些年不调jvm了,以前用CMS gc效果就不错,不知
道这些年又搞什么新的花样了。

【在 z****e 的大作中提到】
: gc到点执行
: 这个倒是可以实现的
: 这些年gc策略也作了很大调整
: 各种策略各有优劣
: 一个比较常见的
: 简单说就是,先GC,要求GC停顿控制在一定时间范围之内
: 如果超过了,就先停止gc,继续执行,等下一个再执行gc
: 哪怕用system.gc()也可以做到一些非精确的GC执行
: 你离开这行是有些年头了

b********e
发帖数: 595
21

死锁容易定位,tomat直接kill -3, jboss通过jmx能看到heap dump, tda一看就能看出
来,查内存泄漏的确是个力气活

【在 z****e 的大作中提到】
: re这个
: 内存泄露,死锁都是一般大项目中灰常头疼的问题
:
: dump

g*****g
发帖数: 34805
22
Memory Analyzer etc. has make it fairly easy to detect leak.
What's leaking can typically be identified by taking two snapshots and
compare.

【在 b********e 的大作中提到】
:
: 死锁容易定位,tomat直接kill -3, jboss通过jmx能看到heap dump, tda一看就能看出
: 来,查内存泄漏的确是个力气活

1 (共1页)
进入Programming版参与讨论
相关主题
多线程 编程,process 和 thread 的一些问题。问两个C++面世小问题
[合集] 再问一个接受udp数据的问题,急请教一个javascript的heap的问题。 (转载)
[合集] C++ question -- how to save objects弱问:C#定义的class里面直接new出来的成员存在了哪里?
[合集] Linux/Unix下时间的精度 (转载)std::vector里面的object存在哪里?
更多的关于Java GCGoodbug再来赌一把1M/s计数器如何?Java实现
Java真的不能disable GC么?魏老师不懂gc机制
java 真不适合12306一类的网站如何实现微秒精度的time stamp
a C questioncode profiling 的问题
相关话题的讨论汇总
话题: gc话题: jboss话题: disable话题: 系统话题: java