文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>RHCE033--系统监视

RHCE033--系统监视

时间:2010-09-28  来源:twenty_four

 
    一、了解系统状况
  1. uname:显示系统信息
    uname -a,可以用来显示系统的完整鉴定信息,包括主机名、核心版本等。
    [root@localhost ~]# uname -a
    Linux localhost.localdomain 2.6.18-128.el5 #1 SMP Wed Dec 17 11:42:39 EST 2008
    i686 athlon i386 GNU/Linux
    hostname指令可以用来临时改变主机名。
    [root@localhost ~]# hostname     //查看本机主机名
    localhost.localdomain
    [root@localhost ~]# hostname 51cto   //临时改变主机名
    重新打开一个终端链接:
    login as: root
    [email protected]'s password:
    Last login: Mon Sep 27 19:36:53 2010 from 218.192.87.4
    [root@51cto ~]#     //可以发现主机名修改了
    [root@51cto ~]# hostname
    51cto
    但是当系统重启后,主机名又变为localhost.localdomain
    如果想永久更换主机名,需要编辑/etc/sysconfig/network、域名解析文件/etc/hosts
    对于/etc/sysconfig/network文件:
    [root@localhost ~]# cat /etc/sysconfig/network
    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=localhost.localdomain
    [root@localhost ~]# vim /etc/sysconfig/network
    [root@localhost ~]# cat /etc/sysconfig/network
    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=51cto
    对于域名解析文件/etc/hosts:
    [root@localhost ~]# cat /etc/hosts
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1               localhost.localdomain localhost
    ::1             localhost6.localdomain6 localhost6
    [root@localhost ~]# vim /etc/hosts
    [root@localhost ~]# cat /etc/hosts
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1       51cto   51cto.com
    ::1             localhost6.localdomain6 localhost6
    (注意要写入51cto这个主机名后,还有51cto.com域名,不然系统重启不了)
    [root@localhost ~]# init 6  //重启测试下
    login as: root
    [email protected]'s password:
    Last login: Mon Sep 27 20:05:54 2010
    [root@51cto ~]# hostname
    51cto           //修改成功
  2. last:列出最近的用户登录
    [root@51cto ~]# last
    root     pts/0        218.192.87.4     Mon Sep 27 20:06   still logged in
    root     tty1                          Mon Sep 27 20:05   still logged in
    …………
  3. lastlog:列出每一个用户的最近登录情况
    [root@51cto ~]# lastlog
    Username         Port     From             Latest
    root             pts/0    218.192.87.4     Mon Sep 27 20:06:48 -0700 2010
    …………
  4. free:显示内存使用状况
    [root@51cto ~]# free     //默认以KB显示
                 total       used       free     shared    buffers     cached
    Mem:        417916      94136     323780          0       9824      49692
    -/+ buffers/cache:      34620     383296
    Swap:       763048          0     763048
    [root@51cto ~]# free -m     //加M选项
                 total       used       free     shared    buffers     cached
    Mem:           408         91        316          0          9         48
    -/+ buffers/cache:         33        374
    Swap:          745          0        745
  5. top:系统监视器
    [root@51cto ~]# top
    top - 20:15:38 up 11 min,  2 users,  load average: 0.00, 0.09, 0.12
    Tasks:  65 total,   1 running,  64 sleeping,   0 stopped,   0 zombie
    Cpu(s):  1.3%us,  2.3%sy,  0.0%ni, 93.8%id,  2.4%wa,  0.0%hi,  0.2%si,  0.0%st
    Mem:    417916k total,    94504k used,   323412k free,     9956k buffers
    Swap:   763048k total,        0k used,   763048k free,    49800k cached
     
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
        1 root      15   0  2064  624  532 S  0.0  0.1   0:01.15 init
        2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0
    ………...
     
    二、进程
    Linux系统上所有运行的东西都可以称之为一个进程。每个用户任务、每个系统管理守护进程,
    都可以称之为进程。一个进程可以产生另一个进程,除了init以外,所有的进程都有父进程。
    进程的一个比较正式的定义是∶在自身的虚拟地址空间运行的一个单独的程序。进程与程序
    是有区别的,进程不是程序,虽然它由程序产生。程序只是一个静态的指令集合,不占系统的
    运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。
    而且一个程序可以启动多个进程。
     
    三、查询进程
  6. 查询进程的指令:
    语法  ps  [option]
    [root@51cto ~]# ps
      PID TTY          TIME CMD
     3203 pts/0    00:00:00 bash
     3244 pts/0    00:00:00 ps
    [root@51cto ~]# ps -l    //以长模式显示进程的信息
    F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    4 S     0  3203  3201  0  75   0 -  1133 wait   pts/0    00:00:00 bash
    4 R     0  3245  3203  0  77   0 -  1052 -      pts/0    00:00:00 ps
  7. pstree可以用来以树状的方式表现进程的父子关系
    [root@51cto ~]# pstree     //若显示乱码则修改编码为UTF-8
    init┬─crond
         ├─cupsd
         ├─dhclient
         ├─events/0
         ├─gam_server
         ├─khelper
         ├─klogd
         ├─ksoftirqd/0
         ├─kthread─┬─aio/0
         │         ├─ata/0
         │         ├─ata_aux
         │         ├─cqueue/0
         │         ├─kacpid
         │         ├─kauditd
         │         ├─kblockd/0
         │         ├─kgameportd
         │         ├─khubd
         │         ├─3*[kjournald]
         │         ├─kmpath_handlerd
         │         ├─kmpathd/0
         │         ├─kpsmoused
         │         ├─kseriod
         │         ├─kstriped
         │         ├─kswapd0
         │         ├─mpt_poll_0
         │         ├─nfsd4
         │         ├─2*[pdflush]
         │         ├─rpciod/0
         │         └─scsi_eh_0
         ├─lockd
         ├─login───bash
         ├─migration/0
         ├─5*[mingetty]
         ├─8*[nfsd]
         ├─portmap
         ├─rpc.idmapd
         ├─rpc.mountd
         ├─rpc.rquotad
         ├─sshd───sshd───bash───pstree
         ├─syslogd
         ├─udevd
         ├─watchdog/0
         ├─xfs
         ├─xinetd
         └─yum-updatesd
     
    四、控制进程
  8. kill:
    语法:kill  [-signal]  PID
    默认为15(终结)
    终止后台进程的原因很多,或许是该进程占用的CPU时间过多;或许是该进程已经挂死。
    总之这种情况是经常发生的。
    kill可以通过向一个进程发送一个讯号来控制进程。这个讯号既可以是数字,也可以是名称。
    [root@51cto ~]# killall dhclient   //杀死所有dhclient进程
  9. 下面利用kill把登陆到系统的人踢出去:
    我在pts/0查看:
    [root@51cto ~]# w
     21:14:17 up  1:10,  3 users,  load average: 0.00, 0.01, 0.00
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1     -                20:05    1:08m  0.03s  0.03s -bash
    root     pts/0    218.192.87.4     20:06    0.00s  0.17s  0.00s w
    root     pts/1    218.192.87.4     21:14    0.00s  0.00s  0.00s -bash
    现在把pts/1 kill掉:
    [root@51cto ~]# ps -ef |grep pts/1      //查看pts/1的进程号
    root      3262  2846  0 21:13 ?        00:00:00 sshd: root@pts/1
    root      3264  3262  0 21:14 pts/1    00:00:00 -bash
    root      3291  3203  0 21:16 pts/0    00:00:00 grep pts/1
    [root@51cto ~]# kill 3262
    [root@51cto ~]# w       //发现pts/1没了
     21:16:49 up  1:12,  2 users,  load average: 0.00, 0.00, 0.00
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1     -                20:05    1:10m  0.03s  0.03s -bash
    root     pts/0    218.192.87.4     20:06    0.00s  0.18s  0.00s w
    则另一个pts/1终端弹出窗口显示:
    Server unexpectedly closed network connection
  10. kill -l:列出所有可以由kill传递的讯号
    [root@51cto ~]# kill -l
     1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL
     5) SIGTRAP      6) SIGABRT      7) SIGBUS       8) SIGFPE
     9) SIGKILL     10) SIGUSR1     11) SIGSEGV     12) SIGUSR2
    13) SIGPIPE     14) SIGALRM     15) SIGTERM     16) SIGSTKFLT
    17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
    21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU
    25) SIGXFSZ     26) SIGVTALRM   27) SIGPROF     28) SIGWINCH
    29) SIGIO       30) SIGPWR      31) SIGSYS      34) SIGRTMIN
    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3  38) SIGRTMIN+4
    39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
    43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
    47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
    51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
    55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7  58) SIGRTMAX-6
    59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
    63) SIGRTMAX-1  64) SIGRTMAX
     
    五、进程的优先级
  11. 进程的优先级,用nice值来表示
    nicez值中负值( -n )表示高优先级,正值( n )表示低优先级。nice值的范围在-20~19之间,
    数值越大表示优先级越低。系统默认的进程nice值为0。对于一般用户,只能提高nice值,
    降低优先级;只有root用户才能降低nice值,提升优先级。
    nice:以一个不同的nice值来运行指令
    nice -n num command
  12. renice:改变一个运行进程的nice值
    renice -n pid
  13. [root@51cto ~]# man nice    //具体应用查询帮助文档
    [root@51cto ~]# man renice
     
    六、系统日志
    系统日志记录着系统运行中的记录信息
    在服务或系统发生故障的时候,通过查询系统日志,可以帮助我们诊断。
    系统日志可以预警安全问题
    系统日志一般都存放在/var/log目录下
     
    七、常用的系统日志
  14. /var/log/dmesg
    核心启动日志,日志文件写在系统每次启动时,包含了核心装入时系统的所有输出数据。
    通过如下任一个命令查看:
    [root@51cto ~]# dmesg
    [root@51cto ~]# cat /var/log/dmesg
  15. /var/log/messages
    系统报错日志,记录着大部分系统服务的输出,很常用
    [root@51cto ~]# tail -f /var/log/messages     //查寻文件的结尾信息
  16. /var/log/maillog             //此日志包含所有由sendmail送出的信息和报错
    邮件系统日志
  17. /var/log/secure     //包含了所有与系统相关的讯息,诸如登录,tcp_wrapper与xinetd服务
    系统登录与网络连接的信息
  18. /var/log/wtmp
    系统的每一次登录,都会在此日志中添加记录。为了防止有人篡改,该文件为二进制文件。
     
相关阅读 更多 +
排行榜 更多 +
雷电觉醒安卓版

雷电觉醒安卓版

飞行射击 下载
3D幻影飞车最新版

3D幻影飞车最新版

飞行射击 下载
星河一号战队

星河一号战队

飞行射击 下载