Chinaunix首页 | 论坛 | 博客
  • 博客访问: 179393
  • 博文数量: 20
  • 博客积分: 186
  • 博客等级: 入伍新兵
  • 技术积分: 1061
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-12 19:54
文章存档

2018年(1)

2013年(10)

2012年(9)

分类: LINUX

2013-08-31 20:12:57

    要想详细了解你的Linux系统,为系统评估和性能调化提供准确的信息,那么,你会经常用到这几组命令。

一. 系统信息
    1. 查看内核版本、编译主机、编译器版本和编译时间的信息
    cat /proc/version                     
    2. 查看bootloader启动内核的参数
    cat /proc/cmdline
    3. 查看内核版本和CPU架构等信息
    uname -a
    4. 查看当前时间、系统运行时间、用户数量和负载信息
    uptime
    5. 查看系统进程、内存使用、交换内存、磁盘IO读写、系统中断及上下文切换和CPU使用率的动态信息。如果你bi/bo/wa比较大,说明你的磁盘IO极可能是性能的瓶颈。
    vmstat 1

二. CPU信息
    6. CPU的每个核的信息,比如主频、硬件商、cache大小和BogoMIPS等信息
    cat /proc/cpuinfo 


三. 内存信息
    7. 内存的综合信息。不要惊讶于Linux系统总是所剩内存不多,free列第二行才是实际剩余内存,大量的cache/buffer是为了提高系统访问磁盘的速度。
    free
    8. 详细内存信息。包括dirty和slab等内存信息。
    cat /proc/meminfo 

四. 磁盘信息
    9. 当前挂载的文件系统信息,包括fs类型和挂载点等信息
    mount -l
    10. 当前磁盘信息,比如分区和大小
    fdisk -l
    11. 当前文件系统信息,包括使用百分比和挂载点
    df -h
    12. 当前挂载的文件系统信息缓存文件
    cat /etc/mtab
    13. 挂载文件系统的配置文件
    cat /etc/fstab

五. 进程信息

    14. 系统的限制信息
    ulimit -a
    15. ten processes catch most CPU resource
    ps aux | sort -k 3 -r | head -11
    16. ten processes catch most Memory resource
    ps aux | sort -k 4 -r | head -11

六. 其它信息
    17. current modules and referenced counter
    lsmod
    18. top综合信息,按数字1可以查看每个核的CPU使用率
    top
    19. all process info,可以跟ps aux对比下
    ps -ef
    20. 系统启动日志,直接执行dmesg也可
    cat /var/log/dmesg


    查看以上信息的shell脚本如下所示。如果你感觉用这个脚本获取的系统信息不错,欢迎贴出来分享:)关于网络的命令更为丰富,在此暂不涉及。本文在此同步: http://blog.csdn.net/r_luo/article/details/10769257 。转载请注明出处和链接:http://blog.chinaunix.net/uid-16459552-id-3877787.html 。


点击(此处)折叠或打开

  1. #!/bin/sh

  2. LOG_FILE=linux_system_info_$(date +%Y%m%d%H%M).log
  3. COND=1
  4. touch ${LOG_FILE}

  5. printex()
  6. {
  7.     echo " [root@luojianh ]# $1"
  8. }

  9. while [ $COND -eq 1 ];
  10. do
  11.     echo " *** System information ***"
  12.     printex "cat /proc/version"
  13.     cat /proc/version
  14.     printex "cat /proc/cmdline"
  15.     cat /proc/cmdline
  16.     printex "uname -a"
  17.     uname -a
  18.     printex "uptime"
  19.     uptime
  20.     echo " ## summary info"
  21.     printex "vmstat 1 10"
  22.     vmstat 1 10
  23.     echo ""

  24.     echo " *** CPU information ***"
  25.     CORES=$(grep processor /proc/cpuinfo | wc -l)
  26.     CPU_TYPE=$(uname -m)
  27.     echo " TITLE: CPU type: ${CPU_TYPE}, cores: ${CORES}"
  28.     printex "cat /proc/cpuinfo"
  29.     cat /proc/cpuinfo
  30.     echo ""

  31.     echo " *** Memory information ***"
  32.     printex "free"
  33.     free
  34.     printex "cat /proc/meminfo"
  35.     cat /proc/meminfo
  36.     echo ""

  37.     echo " *** Disk/Flash information ***"
  38.     printex "mount -l #current mount info"
  39.     mount -l
  40.     printex "fdisk -l #current disk info"
  41.     fdisk -l
  42.     printex "df -h #current fs info with using rate"
  43.     df -h
  44.     printex "cat /etc/mtab"
  45.     cat /etc/mtab
  46.     printex "cat /etc/fstab"
  47.     cat /etc/fstab
  48.     echo ""

  49.     echo " *** Processes/Threads information ***"
  50.     echo " ## limited info"
  51.     printex "ulimit -a"
  52.     ulimit -a
  53.     echo " ## ten processes catch most CPU resource"
  54.     printex "ps aux | sort -k 3 -r | head -11"
  55.     ps aux | sort -k 3 -r | head -11
  56.     echo " ## ten processes catch most Memory resource"
  57.     printex "ps aux | sort -k 4 -r | head -11"
  58.     ps aux | sort -k 4 -r | head -11
  59.     echo ""
  60.     
  61.     echo " *** Lardge information ***"
  62.     printex "lsmod #current modules and referenced counter"
  63.     lsmod
  64.     printex "top -d 1 -n 1"
  65.     top -d 1 -n 1
  66.     echo " ## all process info"
  67.     ps -ef
  68.     printex "cat /var/log/dmesg"
  69.     cat /var/log/dmesg
  70.     echo ""

  71.     COND=0
  72. done >> ${LOG_FILE}

  73. unix2dos ${LOG_FILE}




阅读(5384) | 评论(0) | 转发(9) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册