一次现场故障处理的总结

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一次实际现场故障处理的总结

2011年7月27日,北京西便门邮政一台安装红旗DC5sp4的服务器在早上运行时ORACLE报错,不能读一个表,导致ORACLE不能正常运行,然后直接影响这台服务器的正常运行。其管理员查看系统内存占用过大,要求红旗公司派下现场给予处理。

经我们现场检查,发现其ORACLE运行时内存共占用54GB左右,而其总的物理内存

为64GB。然而待服务器重启后,还未启动ORACLE,内存就被ORACLE用户的进程占用了49GB左右。现场初步判断应该是ORACLE配置的问题。建议让ORACLE公司派人来检查一下问题。我们同时收集了该服务器运行信息回公司分析。第二天给予明确回复。

28日,对昨天下现场工作进行分析总结。

通过这第一次下现场,从中学到不少实用技巧,发现售后服务工作需要有比较全面的

知识和技术,才能对故障现象进行深入准确地分析,发现问题,并提出解决或建议方案。

首先,检查系统运行状态主要用到的命令有如下四个:

一、ps命令

ps-ef&&显示所有进程,并用ASCII字符显示树状结构,表达程序间的

相互关系。ps-ef|wc-l&&统计当前共有多少个进程在运行。

ps-ef|grep oracle&&查看与oracle有关的所有进程信息。

具体命令解释如下:

1)ps a显示现行终端机下的所有程序,包括其他用户的程序。

2)ps-A显示所有程序。

3)ps c列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服

务的标示。

4)ps-e此参数的效果和指定?参数相同。

5)ps e列出程序时,显示每个程序所使用的环境变量。

6)ps f用ASCII字符显示树状结构,表达程序间的相互关系。

7)ps-H显示树状结构,表示程序间的相互关系。

8)ps-N显示所有的程序,除了执行ps指令终端机下的程序之外。

9)ps s采用程序信号的格式显示程序状况。

10)ps S列出程序时,包括已中断的子程序资料。

11)ps-t<终端机编号>

指定终端机编号,并列出属于该终端机的程序的状况。

12)ps u

以用户为主的格式来显示程序状况。

13)ps x

显示所有程序,不以终端机来区分。

最常用的方法是ps-aux,然后再利用一个管道符号导向到grep去查找特定的进程,然

后再对特定的进程进行操作。

lsof二、.

lsof|grep oracle&&查看被打开的与ORACLE有关的文件情况。

lsof全名list opened files,也就是列举系统中已经被打开的文件。我们都知道,linux

环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是文件。所以,用好lsof命令,对日常的linux管理非常有帮助。以下的说明,大部分内容来自lsof的manual文档。我所做的只是在中文翻译的基础上,进行简单的分类说明,并列举最常用的参数。

(一)输出说明

lsof是linux最常用的命令之一,通常的输出格式为:

引用

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

常见包括如下几个字段:更多的可见manual。

1、COMMAND

默认以9个字符长度显示的命令名称。可使用+c参数指定显示的宽度,若+c后跟的参数为零,则显示命令的全名

2、PID:进程的ID号

3、PPID

父进程的IP号,默认不显示,当使用-R参数可打开。

4、PGID

进程组的ID编号,默认也不会显示,当使用-g参数时可打开。

5、USER

命令的执行UID或系统中登陆的用户名称。默认显示为用户名,当使用-l参数时,可

显示UID。

6、FD

是文件的File Descriptor number,或者如下的内容:

(这里很难翻译对应的意思,保留英文)

7、TYPE

引用

IPv4IPv4的包;

IPv6使用IPv6格式的包,即使地址是IPv4的,也会显示为IPv6,而映射到IPv6的地址;

DIR目录

LINK链接文件

详情请看manual中更多的注释。

8、DEVICE

使用character special、block special表示的设备号

9、SIZE

文件的大小,如果不能用大小表示的,会留空。使用-s参数控制。

10、NODE

本地文件的node码,或者协议,如TCP等

11、NAME

挂载点和文件的全路径(链接会被解析为实际路径),或者连接双方的地址和端口、状

态等

(二)参数.

1、不带额外参数运行

lsof path/filename

显示已打开该目录或文件的所有进程信息

lsof`which httpd`

显示指定命令的信息

2、参见参数

-c w显示以w开头命令的已打开文件的信息

lsof-c sshd

-p PID显示指定PID已打开文件的信息

lsof-p4401

+d dir依照文件夹dir来搜寻,但不会打开子目录

lsof+d/root

+D dir打开dir文件夹以及其子目录搜寻

lsof+D/root/

-d s以FD列的信息进行匹配,可使用3-10,表示范围,3,10表示某些值

lsof-d3-10

-u显示某用户的已经打开的文件(或该用户执行程序已经打开的文件)

lsof-u root

lsof-u0

◎可配合正规表达式使用

表示不包括root用户的信息:

lsof-u^root

-i监听指定的协议、端口、主机等的网络信息,格式为:

引用

[46][proto][@host|addr][:svc_list|port_list]

例如:

lsof-i tcp@192.168.228.244为防备电子邮件地址收集器,这个E-mail地址被隐藏,你的浏览器必须支持Javascript才可看到这个邮件地址

lsof-i:22

还可以使用一些参数控制显示结果:

引用

-l禁止将userID转换为登陆名称,即显示UID

-n禁止将IP地址转换为hostname主机文件

-P不显示端口名称

-g s从PGID列进行匹配

lsof-g3-10

3、其他参数

+f所有路径参数都必须是文件系统,否则不能执行

-f所有路径参数都将作为普通的文件,例如:-f--?中的/,只会匹配单个/路径,而不会是根目录中的所有文件

+f和-f后都应加上“--”表终结符:

lsof-f--/

相关文档
最新文档