HP-UX下OC4J的故障处理二例

我们这个平台使用的是HP的小机rx6600,因为跑java程序,所以选用了oracle公司的oc4j这个中间件,顺便吐槽一下,这个oc4j真的太麻烦,太讨厌了,搞不懂公司当初在实施的时候,为什么不采用weblogic或者是websphere这类的中间件。

前几天因为服务器双机出现故障,硬件厂家来了工程师处理好了双机问题。我这边因为修正了一个接口地址,本想重启应用,可应用死活启动不了。

故障一:

故障现象:

control.sh.log内容,报如下错误:

opmnctl: starting opmn and all managed processes...
RCV: Permission denied
Communication error with the OPMN server local port.
Check the OPMN log files

之后打开opmn.log,查看日志内容,发现如下错误:

12/11/16 19:22:14 [ons-internal] ONS server initiated
12/11/16 19:22:14 [pm-internal] PM state directory exists: /oracle/oracle10g/product/10.1.3.1/OracleAS_1/opmn/logs/states
12/11/16 19:22:14 [pm-internal] OPMN server ready. Request handling enabled.
12/11/16 19:22:14 [ons-listener] 127.0.0.1,6100: BIND (Address already in use)
12/11/16 19:22:14 [ons-connect] Local connection 127.0.0.1,6100 invalid form factor<unknown>

继续阅读HP-UX下OC4J的故障处理二例

TCMalloc

TCMalloc (google-perftools) 是用于优化C++写的多线程应用,比glibc 2.3的malloc快。这个模块可以用来让MySQL在高并发下内存占用更加稳定。

安装步骤:

The glibc built-in stack-unwinder on 64-bit systems has some problems with the perftools libraries. (In particular, the cpu/heap profiler may be in the middle of malloc, holding some malloc-related locks when they invoke the stack unwinder. The built-in stack unwinder may call malloc recursively, which may require the thread to acquire a lock it already holds: deadlock.)

For that reason, if you use a 64-bit system, we strongly recommend you install libunwind before trying to configure or install gperftools. libunwind can be found at here

Even if you already have libunwind installed, you should check the version. Versions older than this will not work properly; too-new versions introduce new code that does not work well with perftools (because libunwind can call malloc, which will lead to deadlock).
继续阅读TCMalloc