定位UNIX上常见问题的经验总结

同时通过对下面两个例子的介绍,巩固了上面问题分析的介绍:

一个多线程应用的性能问题的分析 一个 crash 问题的分析

UNIX 程序">常见问题分类

UNIX 下运行程序,经常会遇到以下几类问题 :

Crash 内存泄露 句柄泄露 进程不响应 性能不满足预期 逻辑错误

UNIX 程序常见问题的分析方法

UNIX 下 Crash 问题的分析方法

crash 原理和 core 文件生成原因 ( 信号的介绍 )

Crash 是进程崩溃,是由于应用进程做了错误的操作 ( 例如,数组拷贝越界导致对系统内存进行了写操作,使用了错误的指针地址 ), 操作系统向应用进程发送了信号,如果应用进程没有做特殊处理,应用进程将 core dump 在进程当前的工作目录下生成一个 core 文件,core 文件复制了该进程的存储图像,是一个内存映像。

不是所有的信号默认行为都是 crash, 常见默认 crash 信号主要有:

SIGABRT SIGBUS SIGSEGV SIGILL SIGPIPE

可以通过 kill –l (适用所有 UNIX 平台)查看信号的信息。

查看针对某个进程的所有信号的默认行为(例如:在 Solaris 平台使用 psig pid 命令查看,其他平台的命令略有不同,请参考各自平台用户手册).

[root@svs4qa09 SunOS a]# psig
25040 25040: /qatest/
ModelerServer/5.0.0.0.64/modelersrv_15_0 -server HUP caught 0x10002958c 0 INT caught 0x100029580 0 QUIT default ILL default TRAP default ABRT default EMT default FPE default KILL default BUS default SEGV default SYS default PIPE ignored ALRM default TERM caught 0x100029580 0 USR1 default USR2 default CLD caught 0x100067f44 NOCLDSTOP

下面列举一些常见信号的默认操作以及可能产生的原因:

例如:Solaris 平台如下。下面的信息参考 Solaris 内核结构第 2 版第二章(Solaris 进程模型) 第 75 页,其他平台基本相同,请参考各自平台用户手册:

信号 值 处理动作 发出信号的原因

SIGHUP 缺省的动作是终止进程 终端挂起或者控制进程终止

SIGINT 缺省的动作是终止进程 键盘中断(如 break 键被按下)

SIGQUIT 缺省的动作是终止进程并进行内核映像转储(dump core)键盘的退出键被按下

SIGILL 缺省的动作是终止进程并进行内核映像转储(dump core)非法指令

SIGABRT 缺省的动作是终止进程并进行内核映像转储(dump core)由 abort(3) 发出的退出指令

SIGFPE 缺省的动作是终止进程并进行内核映像转储(dump core)浮点异常

SIGKILL 9 AEF Kill 信号 终止信号

SIGSEGV 缺省的动作是终止进程并进行内核映像转储(dump core)无效的内存引用

SIGPIPE 缺省的动作是终止进程 管道破裂 : 写一个没有读端口的管道

SIGALRM 缺省的动作是终止进程 由 alarm(2) 发出的信号

SIGTERM 缺省的动作是终止进程 终止信号

SIGUSR1 缺省的动作是终止进程 用户自定义信号 1

SIGUSR2 缺省的动作是终止进程 用户自定义信号 2

SIGCHLD 缺省的动作是忽略此信号 子进程结束信号

SIGSTOP DEF 终止进程

SIGBUS 缺省的动作是终止进程并进行内核映像转储(dump core)总线错误 ( 错误的内存访问 )

时间: 2024-10-23 20:56:29

定位UNIX上常见问题的经验总结的相关文章

在UNIX上安装MySQL

mysql|unix     可得到几种版本的MySQL分发包.当前稳定的发行版有3.22 版本系列.当前正在开发的版本为3.23 系列.一般,应该使用系列中最高编号的版本.    MySQL分发包可以以二进制代码.RPM 和源代码的格式得到.二进制代码和RPM 分发包容易安装,但必须接受建立在分发包内的安装设计和缺省配置.源代码分发包安装很困难,因为必须对软件进行编译,但可对参数进行更多的控制.例如,可以只编译客户机程序的分发包,而不用管服务器,可以更改安装软件的目标位置等.    分发包邢

无天:企业站85个关键词排名上百度首页经验(续)

上月写的一篇博客<总结企业站85个关键词排名上百度首页经验>,发现关注的网友还是蛮多的.在我的北京SEO博客上回复30多条,主要是博客没什么流量,不常更新的缘故.发到A5上的查看的有1500多次,评论的也有30多次.感觉还不错,证明这个文章还有点价值可看,大部分应该都是冲着标题点的. 这两天刚好忙完事情,仔细的看了下博客里的网友留言,一个站长的回复让我回头又观察了下关键词的排名.他的回复是"很想知道上了首页后你打算怎么做".说实话这些关键词上首页后,我还真没考虑过怎么做.因

类Unix上5个最佳开源备份工具 Bacula/Amanda/Backupninja/Backuppc/UrBackup

下面是我为大家罗列了一些在linux和类unix上开源的软件备份工具. 当为一个企业选择备份工具的时候,你都考虑什么呢? 确定你正在部署的软件具有下面的特性     开源软件 – 你务必要选择那些源码可以免费获得,并且可以修改的软件.确信可以恢复你的数据,即使是软件供应商/项目停止继续维护这个软件,或者是拒绝继续为这个软件提供补丁.     跨平台支持 – 确定备份软件可以很好的运行各种需要部署的桌面操作系统和服务器系统.     数据格式 – 一种开放的数据格式可以让你能够恢复数据,即使是供应

《PHP、MySQL和Apache入门经典(第5版)》一2.3 在Linux/UNIX上安装MySQL

2.3 在Linux/UNIX上安装MySQL PHP.MySQL和Apache入门经典(第5版) 不管你是使用RPM还是二进制代码安装,在Linux/UNIX上安装MySQL都比较简单.如果你通过RPM安装,MySQL AB提供了专门平台的RPM,例如针对运行在不同类型的处理器(如32位或64位的x86)上的SuSE Linux或一般的Linux. 对于RPM的一个最小的安装,你需要如下来自下载页面http://dev.mysql.com/downloads/mysql/5.5.html的两个

《PHP、MySQL和Apache入门经典(第5版)》一一2.3 在Linux/UNIX上安装MySQL

2.3 在Linux/UNIX上安装MySQL PHP.MySQL和Apache入门经典(第5版) 不管你是使用RPM还是二进制代码安装,在Linux/UNIX上安装MySQL都比较简单.如果你通过RPM安装,MySQL AB提供了专门平台的RPM,例如针对运行在不同类型的处理器(如32位或64位的x86)上的SuSE Linux或一般的Linux. 对于RPM的一个最小的安装,你需要如下来自下载页面http://dev.mysql.com/downloads/mysql/5.5.html的两个

网站定位实质上就是网站盈利的定位

中介交易 SEO诊断 淘宝客 云主机 技术大厅 网站定位是站长们颇为关心的问题,牵扯到网站今后的发展方向,网站定位的错误会导致站长改变网站的发展策略,前期的网站运营工作都会付诸东流,浪费站长的人力.物力和财力.同时,也会导致站长频繁修改网站的标题和关键词,发生百度降权的的情况,几经降权,网站基本就处于难以维继的状态.站长在建站之前就应当基本确定网站的发展方向,或某一行业,或某一兴趣,或某一模式,从中找出自己最擅长的领域确定网站定位,一经确定,剩下的就是坚持,坚持,再坚持.如何从初期模糊的定位中思

一个月关键字上百度首页经验分享

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 这是2011年的第一篇文章,首先给大家拜个晚年,祝大家在新的一年里工作生活都上一个新台阶! 2010年是我seo生涯很关键的一年,因为在之前对于seo而言,我基本只有理论没有实践,而在2010年一整年,我都在一步步的通过自己的网站来对seo进行更深层次的了解,当然,在自己的辛勤努力之下,我的网站也取得了一定的成就.今天,我就把我的网站关键字上

[转载] 如何制作Webmin(Unix上的GUI管理工具)模块

本文着重探讨 Webmin的技术内幕和如何编写 Webmin模块.文中首先介绍剖析了 Webmin内部结构,然后在 Webmin发行包基础上了裁减出了一个 Webmin的核心,最后介绍如何编写一个 Webmin模块. 剖析Webmin 的内部结构 解开 Webmin的安装包,可以发现Webmin 的目录的组成如下: 一组子目录,很显然这些子目录绝大多数都是一个Webmin 管理模块,而且可以看出Webmin完全由 perl实现:  一组perl脚本和几个CGI 脚本,这些脚本可以分为三类: 内置

草根两个月让关键字上百度首页经验分享

seo优化一定要有规划,而且要按照自己的规划去坚持努力,只要坚持到底才能得到自己应有的劳动成果.最近本人一直在优化一个产品网站,经过两个月的坚持不懈,终于把一个百度指数上千的关键字做到了百度首页,接下来我就跟大家分享一下排名上去的经历. 一.网站关键字定位 百度是国内最大的搜索引擎,因此本人优化时主要针对百度,且选取的关键字都是百度指数比较高的词,网站优化人员都知道关键字指数高的字很难优化,而如今是一个商业竞争的年代,任何一个网站都是用来赚钱的,如果关键字优化上去之后,不能给网站带来流量,换句话