服务器 频道

Solaris 10 系统维护经验谈

  (二)、用户及系统活动监控。

  1、      查看系统运行了多少时间,使用不带参数的命令 uptime

  root@zsc # uptime

  上午 8点48分   运行 4 天 15:12, 2 用户, 平均负载:0.01, 0.01, 0.01

  2、      查看有那些用户登录到solaris 10系统,使用命令 w.

  root@zsc # w

  上午 9点12分   运行 4 天 15:36, 3 用户, 平均负载:0.02, 0.01, 0.01

  用户名   终端号       登入时间     闲置   JCPU   PCPU 执行命令

  root   console     周一下午 5点     5天   4:53   4:53 /usr/dt/bin/dtscreen -mode blank

  root   pts/3     上午 8点36分     25           -bash

  root   pts/4     上午 9点12分                 w

  3、      查看系统的运行级别,使用带选项的命令 who –r .

  root@zsc # who -r

  .     run-level 3 10月 9日 17:36   3     0 S

  4、查看系统近期的运行状态(包括关机、重起、用户登录等),使用不带参数的命令last.

  root@zsc # last |more

  root     pts/3     211.94.81.227   Sat Oct 14 14:31 仍在登录状态

  root     sshd     211.94.81.227   Sat Oct 14 14:31 仍在登录状态

  root     sshd     218.247.140.197 Sat Sep 16 12:03 - 12:04 (00:00)

  oracle   console   :0           Sat Sep 16 12:02 - 关机 (00:02)

  reboot   system boot             Sat Sep 16 12:02

  reboot   system down             Sat Sep 16 12:01

  root     pts/4     61.128.122.128   Sat Sep 16 12:01 - 关机 (00:01)

  root     sshd     61.128.122.128   Sat Sep 16 12:01 - 关机 (00:01)

  oracle   console   :0           Sat Sep 16 12:00 - 关机 (00:01)

  reboot   system boot             Sat Sep 16 11:59

  reboot   system down             Sat Sep 16 11:59

  oracle   console   :0           Sat Sep 16 11:58 - 关机 (00:01)

  root     console   :0           Sat Sep 16 11:53 - 11:54 (00:00)

  oracle   console   :0           Sat Sep 16 11:52 - 11:53 (00:01)

  5、      查看系统运行的进程,通俗一点说就是查看系统正在运行那些程序,这是系统管理和维护过程中使用得最频繁的工具。使用带若干选项的命令 ps .ps-进程状态的缩写。笔者常用的3个选项是:-a 列出请求最频繁的进程;-e 列出正在运行的进程;-f打印进程的详细信息。另外还有一个类似的工具ptree,用来查看进程树(提示:linux里查看进程树的工具是pstree)。

  root@zsc # ps -aef

  UID   PID PPID   C   STIME TTY       TIME CMD

  root   0   0   0 10月 09 ?       0:10 sched

  root   1   0   0 10月 09 ?       0:02 /sbin/init

  root   2   0   0 10月 09 ?       0:00 pageout

  root   3   0   0 10月 09 ?       46:11 fsflush

  daemon   209   1   0 10月 09 ?       0:00 /usr/lib/nfs/statd

  root 15302   315   0 14:31:04 ?       0:00 /usr/lib/ssh/sshd

  oracle 2917   1   0 10月 10 ?       0:06 ora_smon_zsjdb

  oracle 6093   1   0 10月 12 ?       0:00 ora_s041_zswdb

  oracle 5995   1   0 10月 12 ?       0:31 ora_pmon_zswdb

  oracle 2915   1   0 10月 10 ?       0:11 ora_ckpt_zsjdb

  root@zsc # ptree

  7   /lib/svc/bin/svc.startd

  212   /usr/lib/saf/sac -t 300

  231   /usr/lib/saf/ttymon

  219   /usr/lib/saf/ttymon -g -d /dev/console -l console -T sun -m ldterm,ttc

  9   /lib/svc/bin/svc.configd

  102   /usr/lib/sysevent/syseventd

  103   /usr/sbin/nscd

  113   /usr/lib/picl/picld

  123   /usr/lib/crypto/kcfd

  201   /usr/sbin/cron

  2442 /opt/oracle/product/9.2.0/bin/tnslsnr LISTENER -inherit

  2909 ora_pmon_zsjdb

  2911 ora_dbw0_zsjdb

  2913 ora_lgwr_zsjdb

  有的时候,需要手动结束一个运行的进程,这种情况发生在诸如程序本身没有关闭指令等这样的场景。结束进程使用kill或killall来完成。执行结束进程的操作一定要仔细,看准确了再执行,不要杀错进程。另外一个值得注意的是,不要随便赋予普通用户结束进程的权限,这是很冒险的事情。

  6、      查看磁盘的使用情况也是一项十分重要的工作。再大的磁盘空间也会随时间的推移而逐渐变小,当磁盘空间增加到一定限度的时候,有一些程序将发生错误甚至停止工作,我这里曾有一台监控服务器发送没有标题和内容的报警邮件,原因就是分区 /tmp 被文件填满而不能写入数据所致。使用带参数的命令 df –k或df –h来查看系统硬盘的容量使用情况,笔者本人倾向于使用参数 –h(human readable format)使其输出的格式更加人性化。

  root@zsc # df -k

  文件系统         千字节   用了   可用 容量     挂接在

  /dev/dsk/c1t0d0s0   11093692 7886931 3095825   72%   /

  /devices             0     0     0   0%   /devices

  ctfs               0     0     0   0%   /system/contract

  proc               0     0     0   0%   /proc

  mnttab               0     0     0   0%   /etc/mnttab

  swap           2526104   1048 2525056   1%   /etc/svc/volatile

  objfs               0     0     0   0%   /system/object

  fd                 0     0     0   0%   /dev/fd

  /dev/dsk/c1t0d0s5   6050982 1588792 4401681   27%   /var

  swap           2525376   320 2525056   1%   /tmp

  swap           2525096     40 2525056   1%   /var/run

  /dev/dsk/c1t1d0s2   141179002   65553 139701659   1%   /opt/disk2

  /dev/dsk/c2t40d0s6   281589229 7006562 271766775   3%   /opt/data1

  /dev/dsk/c2t40d1s6   281589229 107661 278665676   1%   /opt/data2

  /dev/dsk/c2t40d2s6   281589229 2182197 276591140   1%   /opt/data3

  root@zsc # df -h

  文件系统           大小   用了   可用 容量     挂接在

  /dev/dsk/c1t0d0s0     11G   7.5G   3.0G   72%   /

  /devices           0K   0K   0K   0%   /devices

  ctfs               0K   0K   0K   0%   /system/contract

  proc               0K   0K   0K   0%   /proc

  mnttab             0K   0K   0K   0%   /etc/mnttab

  swap             2.4G   1.0M   2.4G   1%   /etc/svc/volatile

  objfs             0K   0K   0K   0%   /system/object

  fd               0K   0K   0K   0%   /dev/fd

  /dev/dsk/c1t0d0s5     5.8G   1.5G   4.2G   27%   /var

  swap             2.4G   320K   2.4G   1%   /tmp

  swap             2.4G   40K   2.4G   1%   /var/run

  /dev/dsk/c1t1d0s2     135G   64M   133G   1%   /opt/disk2

  /dev/dsk/c2t40d0s6   269G   6.7G   259G   3%   /opt/data1

  /dev/dsk/c2t40d1s6   269G   105M   266G   1%   /opt/data2

  /dev/dsk/c2t40d2s6   269G   2.1G   264G   1%   /opt/data3

  7、      查看网络连接,使用带选项的命令 netstat .

  root@zsc # netstat –anp //linux用这个选项将输出更多的信息,包括连接的进程等

  Net to Media Table: IPv4

  Device   IP Address           Mask     Flags   Phys Addr

  ------ -------------------- --------------- ----- ---------------

  ce0   61.128.x.1       255.255.255.255     00:00:0c:07:ac:7a

  ce1   192.168.x.5     255.255.255.255 SP   00:14:4f:1e:69:f3

  ce0   61.128.x.3       255.255.255.255     00:0c:31:0b:48:8a

  ce0   61.128.x.30     255.255.255.255     00:14:22:0e:f4:c6

  ce0   61.128.x.27     255.255.255.255     00:14:22:b0:94:18

  ce0   61.128.x.40     255.255.255.255 SP   00:14:4f:1e:69:f3

  ce1   224.0.0.0         240.0.0.0     SM   01:00:5e:00:00:00

  ce0   224.0.0.0         240.0.0.0     SM   01:00:5e:00:00:00

  oot@zsc # netstat –r   //查看路由表

  Routing Table: IPv4

  Destination       Gateway       Flags Ref   Use   Interface

  -------------------- -------------------- ----- ----- ------ ---------

  61.128.x.0       zsc             U       1   239 ce0

  192.168.100.0     zsj             U       1     4 ce1

  BASE-ADDRESS.MCAST.NET zsc             U       1     0 ce0

  default         61.128.122.1       UG     1   2020

  localhost         localhost         UH     26 877301 lo0

  通过网络连接的状态,可以知道有哪些网络服务在工作,以及是否有非法的访问等情况。

  8、查看系统用户近期执行了哪些操作,使用命令history。切换到其他用户,看看最近他们都干了些什么。

 

0
相关文章