您的位置:首页 > 运维架构 > Linux

linux管理员常用命令汇总(1)

2014-09-22 16:47 197 查看
Linux系统管理中需要监控Linux服务器的性能, Linux本身提供一些很有用的命令和组件, 几乎所有的Linux发行版都装备了大量的监控工具,这些工具通过获取系统状态从而达到衡量系统健康状况, 系统管理员可以使用这些工具来找到导致系统性能问题的原因。本文列出的命令是一些常用的基本命令,用来分析和调试系统状况,比如:
  性能瓶颈.
  磁盘 (存储) 问题.
  CPU和内存的使用.
  网络性能.
  #1: top – 进程活动状态
  “top” 命令提供运行系统的动态实时视图, 比如: 系统进程, 内存、CPU占用. 缺省状态下, top显示按CPU使用的进程, 每隔5秒更新一次.
  常用热键
  如下为”top”命令常用的热键:
  热键 说明
  t 显示/关闭概括信息.
  m 显示/关闭内存信息.
  A 降序显示占用的系统资源,可以很容易识别消耗系统资源多的进程.
  f 交互模式配置模式, 可以运行一些特定的任务.
  o 允许在top命令窗口交互式选择排序方式 .
  r 对指定进程运行 renice 命令.(优先级)
  k 对指定进程运行 kill 命令(杀死指定的进程)
  z 打开/关闭 彩色/黑白 显示
  => 相关命令: How do I Find Out Linux CPU Utilization?
  #2: vmstat – 系统状态,内存,CPU使用状况
  “vmstat”命令报告系统进程、内存,页面、以及 block IO, traps, CPU的使用状况.
  # vmstat 3
  输出:
  procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  r b swpd free buff cache si so bi bo in cs us sy id wa st
  0 0 0 2540988 522188 5130400 0 0 2 32 4 2 4 1 96 0 0
  1 0 0 2540988 522188 5130400 0 0 0 720 1199 665 1 0 99 0 0
  0 0 0 2540956 522188 5130400 0 0 0 0 1151 1569 4 1 95 0 0
  0 0 0 2540956 522188 5130500 0 0 0 6 1117 439 1 0 99 0 0
  0 0 0 2540940 522188 5130512 0 0 0 536 1189 932 1 0 98 0 0
  0 0 0 2538444 522188 5130588 0 0 0 0 1187 1417 4 1 96 0 0
  0 0 0 2490060 522188 5130640 0 0 0 18 1253 1123 5 1 94 0 0显示内存使用情况
  # vmstat -m
  获取活动/非活动的内存页面状况
  # vmstat -a
  => 相关链接: How do I find out Linux Resource utilization to detect system bottlenecks?
  #3: w – 查看谁登录到系统,并且在做什么事情
  w 命令显示当前登录到系统的用户,以及当前运行的进程/命令.
  # w <用户名>
  # w root
  Sample Outputs:
  [root@smtp ~]# w root
  12:56:52 up 238 days, 13:52, 3 users, load average: 0.00, 0.00, 0.00
  USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
  root pts/0 10.10.3.38 12:56 26.00s 0.01s 0.00s vi /etc/hosts
  root pts/1 10.10.3.38 12:56 0.00s 0.01s 0.00s w root
  root pts/2 10.10.3.38 12:56 3.00s 0.02s 0.00s top
  #4: uptime – 系统运行时间
  uptime命令可以查看系统已经运行了多长时间,当前登录的用户,以及过去1分钟,5分钟和15分钟的系统负载。
  # uptime
  输出:
  18:02:41 up 41 days, 23:42, 1 user, load average: 0.00, 0.00, 0.00
  #5: ps – 显示系统进程
  ps 命令会输出当前进程的报告,要输出所有进程,请使用 -A 或 -e 选项:
  # ps -A
  输出:
  PID TTY TIME CMD
  1 ? 00:00:02 init
  2 ? 00:00:02 migration/0
  3 ? 00:00:01 ksoftirqd/0
  4 ? 00:00:00 watchdog/0
  5 ? 00:00:00 migration/1
  6 ? 00:00:15 ksoftirqd/1
  ....
  .....
  4881 ? 00:53:28 java
  4885 tty1 00:00:00 mingetty
  4886 tty2 00:00:00 mingetty
  4887 tty3 00:00:00 mingetty
  4888 tty4 00:00:00 mingetty
  4891 tty5 00:00:00 mingetty
  4892 tty6 00:00:00 mingetty
  4893 ttyS1 00:00:00 agetty
  12853 ? 00:00:00 cifsoplockd
  12854 ? 00:00:00 cifsdnotifyd
  14231 ? 00:10:34 lighttpd
  14232 ? 00:00:00 php-cgi
  54981 pts/0 00:00:00 vim
  55465 ? 00:00:00 php-cgi
  55546 ? 00:00:00 bind9-snmp-stat
  55704 pts/1 00:00:00 psps is just like top but provides more information.
  长格式输出
  # ps -Al
  超长格式输出:
  # ps -AlF
  查看线程 ( LWP 和 NLWP)
  # ps -AlFH
  查看每个进程的线程
  # ps -AlLm
  查看服务器运行的所有进程
  # ps ax
  # ps axu
  以树状输出进程状态
  # ps -ejH
  # ps axjf
  # pstree
  输出安全信息
  # ps -eo euser,ruser,suser,fuser,f,comm,label
  # ps axZ
  # ps -eM
  按特定用户身份查看进程
  # ps -U root -u root u
  按用户定义的格式输出进程状态
  # ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
  # ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
  # ps -eopid,tt,user,fname,tmout,f,wchan
  显示某特定的进程ID, 例如:lighttpd
  # ps -C lighttpd -o pid=
  或者
  # pgrep lighttpd
  或者
  # pgrep -u vivek php-cgi
  显示PID 55977的进程名称
  # ps -p 55977 -o comm=
  找出前10个最多占用系统内存的进程
  # ps -auxf | sort -nr -k 4 | head -10
  找出前10个最多占用CPU资源的进程
  # ps -auxf | sort -nr -k 3 | head -10
  #6: free – 内存占用状况
  free命令显示系统物理内存、交换空间以及内核buffer的使用状态。
  # free
  输出:
  total used free shared buffers cached
  Mem: 12302896 9739664 2563232 0 523124 5154740
  -/+ buffers/cache: 4061800 8241096
  Swap: 1052248 0 1052248=> 相关命令 :
  Linux Find Out Virtual Memory PAGESIZE
  Linux Limit CPU Usage Per Process
  How much RAM does my Ubuntu / Fedora Linux desktop PC have?
  #7: iostat – 平均CPU 负载,磁盘活动状况
  iostst命令显示CPU的状态以及设备的输入输出, 分区信息以及NFS的状态.
  # iostat
  输出:
  Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009
  avg-cpu: %user %nice %system %iowait %steal %idle
  3.50 0.09 0.51 0.03 0.00 95.86
  Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
  sda 22.04 31.88 512.03 16193351 260102868
  sda1 0.00 0.00 0.00 2166 180
  sda2 22.04 31.87 512.03 16189010 260102688
  sda3 0.00 0.00 0.00 1615 0=> 相关链接: : Linux Track NFS Directory / Disk I/O Stats
  #8: sar – 查看系统运行状态
  sar命令用来收集、报告以及保存系统的活动信息,例如,查看网络计数,输入:
  # sar -n DEV | more
  显示自24th以来的网络计数:
  # sar -n DEV -f /var/log/sa/sa24 | more
  使用sar显示实时使用状态:
  # sar 4 5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: