zoukankan      html  css  js  c++  java
  • CentOS中查看系统资源占用情况的命令

    用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况...

      还 有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多。

    top:
    主要参数
    d:指定更新的间隔,以秒计 算。
    q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
    c:显示进程完整的路径与名称。
    S: 累积模式,会将己完成或消失的子行程的CPU时间累积起来。
    s:安全模式。
    i:不显示任何闲置(Idle)或无用(Zombie)的行 程。
    n:显示更新的次数,完成后将会退出to
    显示参数:
    PID(Process ID):进程标示号。
    USER:进程所 有者的用户名。
    PR:进程的优先级别。
    NI:进程的优先级别数值。
    VIRT:进程占用的虚拟内存值。
    RES:进程占用的 物理内存值。
    SHR:进程使用的共享内存值。
    S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负 数。
    %CPU:该进程占用的CPU使用率。
    %MEM:该进程占用的物理内存和总内存的百分比。
    TIME+:该进程启动后占用的总 的CPU时间。
    Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
    top命令使用过程中,还可以 使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
    <空格>:立刻刷新。
    P:根据CPU使用大小进行排 序。
    T:根据时间、累计时间排序。
    q:退出top命令。
    m:切换显示内存信息。
    t:切换显示进程和CPU状态信息。
    c: 切换显示命令名称和完整命令行。
    M:根据使用内存大小进行排序。
    W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐 方法。

    free
    1.作用
    free命令用来显示内存的使用情况,使用权限是所有用 户。

    2.格式
    free [-b-k-m] [-o] [-s delay] [-t] [-V]

    3.主要参数
    -b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
    -s delay:显示每隔多少秒数来显示一次内存使用情况。
    -t:显 示内存总和列。
    -o:不显示缓冲区调节列。

    uptime

    18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21
    现在的时间
    系统开机运转到现在经过的 时间
    连线的使用者数量
    最近一分钟,五分钟和十五分钟的系统负载
    参数: -V 显示版本资讯。

    vmstat

    procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
    r b swpd free buff cache si so bi bo in cs us sy id wa
    0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70
    1 观察磁盘活动情况
    磁 盘活动情况主要从以下几个指标了解:
    bi:表示从磁盘每秒读取的块数(blocks/s)。数字越大,表示读磁盘的活动越多。
    bo:表示 每秒写到磁盘的块数(blocks/s)。数字越大,表示写磁盘的活动越多。
    wa:cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越 大,表示文件系统活动阻碍cpu的情况越严重,因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常大于10,可能文件系统就需要 进行性能调整了。
    2 观察cpu活动情况
    vmstat比top更能反映出cpu的使用情况:
    us:用户程序使用cpu的时间比 例。这个数字越大,表示用户进程越繁忙。
    sy: 系统调用使用cpu的时间比例。注意,NFS由于是在内核里面运行的,所以NFS活动所占用的cpu时间反映在sy里面。这个数字经常很大的话,就需要注 意是否某个内核进程,比如NFS任务比较繁重。如果us和sy同时都比较大的话,就需要考虑将某些用户程序分离到另外的服务器上面,以免互相影响。
    id:cpu 空闲的时间比例。
    wa:cpu等待未决的磁盘IO的时间比例。

    iostat

    用于统 计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量
    参数:
    -c 只显示CPU行
    -d 显示磁盘行
    -k 以千字节为单位显示磁盘输出
    -t 在输出中包括时间戳
    -x 在输出中包括扩展的磁盘指标

    avg-cpu: %user %nice %sys %iowait %idle
    20.25 0.18 2.61 76.39 0.57
    %iowait 等待本地I/O时CPU空闲时间的百分比
    %idle 未等待本地I/O时CPU空闲时间的百分比

    Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
    hda 9.86 284.34 84.48 685407 2036
    每秒传输数(tps)、每秒512字节块读取数(Blk_read/s)、每秒512字节块写入数(Blk_wrtn/s)和512字节 块读取(Blk_read)和写入(Blk_wrtn)的总数量。
      系统
      # uname -a # 查看内核/操作系统/CPU信息
       # head -n 1 /etc/issue # 查看操作系统版本
      # cat /proc/cpuinfo # 查看CPU信息
       # hostname # 查看计算机名
      # lspci -tv # 列出所有PCI设备
      # lsusb -tv # 列出所有USB设备
      # lsmod # 列出加载的内核模块
      # env # 查看环境变量
      资源
       # free -m # 查看内存使用量和交换区使用量
      # df -h # 查看各分区使用情况
      # du -sh # 查看指定目录的大小
      # grep MemTotal /proc/meminfo # 查看内存总量
      # grep MemFree /proc/meminfo # 查看空闲内存量
      # uptime # 查看系统运行时间、用户数、负载
      # cat /proc/loadavg # 查看系统负载
      磁盘和分区
      # mount | column -t # 查看挂接的分区状态
      # fdisk -l # 查看所有分区
      # swapon -s # 查看所有交换分区
      # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
      # dmesg | grep IDE # 查看启动时IDE设备检测状况
      网络
      # ifconfig # 查看所有网络接口的属性
      # iptables -L # 查看防火墙设置
      # route -n # 查看路由表
      # netstat -lntp # 查看所有监听端口
      # netstat -antp # 查看所有已经建立的连接
      # netstat -s # 查看网络统计信息
      进程
      # ps -ef # 查看所有进程
       # top # 实时显示进程状态
      用户
      # w # 查看活动用户
      # id # 查看指定用户信息
      # last # 查看用户登录日志
      # cut -d: -f1 /etc/passwd # 查看系统所有用户
      # cut -d: -f1 /etc/group # 查看系统所有组
      # crontab -l # 查看当前用户的计划任务
      服务
      # chkconfig --list # 列出所有系统服务
       # chkconfig --list | grep on # 列出所有启动的系统服务
      程序
       # rpm -qa # 查看所有安装的软件包
    ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less
    执行以上命令可查看各个程序进程内存使用的内存情况,如下图所示,第一列为进程占用的内存百分比,可以看到哪些应用程序占的内存比较多,用于排查问题:
  • 相关阅读:
    Day 20 初识面向对象
    Day 16 常用模块
    Day 15 正则表达式 re模块
    D14 模块 导入模块 开发目录规范
    Day 13 迭代器,生成器,内置函数
    Day 12 递归,二分算法,推导式,匿名函数
    Day 11 闭包函数.装饰器
    D10 函数(二) 嵌套,命名空间作用域
    D09 函数(一) 返回值,参数
    Day 07 Day08 字符编码与文件处理
  • 原文地址:https://www.cnblogs.com/andydao/p/4236737.html
Copyright © 2011-2022 走看看