linux coredump配置与调试
来源:
ChinaUnix博客 日期:
2009.02.09 17:11 (共有0
条评论) 我要评论
linux coredump配置与调试
Linux
Core Dump 配置与调试
1.core文件的生成开关和大小限制
---------------------------------
1)使用ulimit
-c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。
2)
使用ulimit
-cfilesize命令,可以限制core文件的大小(filesize的单位为kbyte)。若ulimit
-cunlimited,则表示core文件的大小不受限制。如果生成的信息超过此大小,将会被裁剪,最终生成一个不完整的core文件。在调试此
core文件的时候,gdb会提示错误。
2.core文件的名称和生成路径
----------------------------
若系统生成的core文件不带其它任何扩展名称,则全部命名为core。新的core文件生成将覆盖原来的core文件。
1)/proc/sys/kernel/core_uses_pid可以控制core文件的文件名中是否添加pid作为扩展。 ......
1、安装包:
下载网址:http://java.sun.com/javase/downloads/index.jsp
jdk-6u12-linux-i586-rpm(版本:1.6.0_12)
2、执行安装
chmod 777 jdk-6u12-linux-i586-rpm.bin
./ jdk-6u12-linux-i586-rpm.bin
接受协议,按enter即可回复yes
3、改变安装目录:
mv /usr/java/jdk1.6.0_12 /usr/local/java
4、最后设置path与classpath:
vi /etc/profile
#set java environment
JAVA_HOME=/usr/local/java
JRE=$JAVA_HOME/jre
PATH=$JAVA_HOME/bin:$JRE/bin:$PATH
CLASSPATH=.:$JAVA_HOME/bin/tools.jar:$JAVA_HOME/lib/dt.jar
export JAVA_HOME JRE LC_ALL PATH CLASSPATH
5、重新读/etc/profile
source /etc/profile
6、检查JDK是否安装成功:java -version
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)
显示以上内容安装成功 ......
0
处理
模型
Linux kernel
的启动包
括很多组件的初始化和相关配置,这些配置参数一般是通过command line
进
行配置的。在进行后续分析之前,先来理解一下command line
的处理
模型:
要处理的对象是一个字符串,其中包含了各种配置信息,通常各个配置之间通过空格进行分离,每个配置的表达形式是
如:param=value1,value2
或者很简单就是一个rw
。
那么kernel
就需要提供对这些
参数进行处理的处理函数列表。根据参数的作用以及执行期的先后不同,这些处理函数被定义到不同的段中。针对每一个参数,Kernel
都会到相应的段中查找相应的处理函数,最终进行各个组件的配置。
1
配置
格式
常见的配置格式如:
console=ttySAC0,115200 root=nfs nfsroot=192.168.1.9:/source/rootfs
initrd=0x10800000,0x14af47
2
配置
方式
2.1 Bootloader
动
态配置
由bootloader
进行参数配
置,command line
将做为atag_list
的一个节点传递到Kernel
。
2.2 Kernel
静态配置
通过make menuconfig
进
行配置:运行后配置boot options->Default kernel
command string
。该配置将被静态编译到Kernel
中,
通过变量default ......
1、安装包:
下载网址:http://dev.sun.com.cn/glassfish/index_zh.html
glassfish-installer-v2.1-b60e-linux-ml.jar(版本:2.1)
2、解压GlassFish软件包并自动创建一个新的文件夹叫“glassfish”
java -Xmx256m -jar glassfish-installer-v2.1-b60e-linux-ml.jar
回复A
mv glassfish /usr/local/
3、设置Ant的执行权限,并执行安装
chmod -R +x /usr/local/glassfish/lib/ant/bin
/usr/local/glassfish/lib/ant/bin/ant -f /usr/local/glassfish/setup.xml
4、修正主机名
vi /etc/hosts
192.168.0.2 VirtualBox
5、Service启动文件
chmod 755 glassfish.sh
chown root:root glassfish.sh
mv glassfish.sh /etc/init.d/glassfish
service glassfish start
================glassfish.sh=====================
#!/bin/sh
#
# glasshfish Startup script for the glassfish server
#
#
# processname: glassfish
#
# Source function library
. /etc/rc.d/init.d/functions
if [ -f /etc/sysconfig/glassfish ]; then
&nbs ......
这阵子在linux下的一个项目需要用到epoll来承受网络的高负载,但是在使用的过程中就遇到了一些问题。
在整个过程中,我是用EPOLL 的边缘触发模式来实现我想要的功能。
我是这样实现的:在EPOLL里面把监听的描述符给加了进去,然后调用epoll_wait来对客户端所连接进来的请求进行处理,假如接受到的描述符是我服务器的监听描述符的话,那么我就调用accept函数来得到客户端的fd,然后把fd给添加到epoll里面进去。假如是已经添加到epoll里面的客户端的fd的话,那么我就处理它的逻辑,如此反复。
好了。问题就是在测试的时候就有问题了。
当我在用模拟客户端进行服务端访问压测的时候,服务端收到的信息就出错了。具体情况是这样的:当我对服务器进行压测的时候,服务器是有返回的。经过几万次压测之后,我把压测软件关掉,再用单个客户端去登陆的时候,服务器收到的竟然是我之前进行压测的服务器的地址,对此我很是奇怪。而且我单个客户端也不能接受到服务器返回给我的信息(服务器确实是有返回的了,但是他接受的fd有问题,所以应该不是 ......
在把这篇总结写下来之前,我想说几句话: 工作和爱好千万别混在一起,心焦力瘁啊!为了完成一个看似以前很简单并且也有过成功经验的任务,我干到现在。本来以为挺简单的事情,加上那不争气的Promise MB Fasttrak133 的RAID驱动真的让我领略到了Windows服务器平台的魅力:一个字:真TMD烂!服务器安装的时候就有着各种困难,好容易弄好了,却在配置中出现了麻烦,当然不是指简单的对系统和网站的配置,而是针对它的转发配置。
说正题!
结构如此:
资料:
1、Linux1 为主服务器,Win1为本次配置的服务器,Linux2、Linux3为本次顺手配置的服务器;
2、两个Domain: www.a.com、www.b.cn;
3、防火墙为默认配置;地址:192.168.100.1
4、外网IP地址:222.222.222.222,内网资源分配:Linux1 : 192.168.100.2、Linux2: 192.168.100.3、Linux3: 192.168.100.4、Win1: 192.168.100.5;
5、之前所有Domain解析完毕,至222.222.222.222;
本次重点是www.b.cn 这个Domain在WIN服务器中,使其能够在单一外网IP下通过Linux1的Apache反向代理转发。
按照道理说,以我以前做的httpd的Proxy或者是Rewrite都 ......