转载:http://blog.chinaunix.net/uid-16459552-id-3877787.html

要想详细了解你的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脚本如下所示。

    #!/bin/sh

    LOG_FILE=linux_system_info_$(date +%Y%m%d%H%M).log
COND=
touch ${LOG_FILE} printex()
{
echo " [root@luojianh ]# $1"
} while [ $COND -eq ];
do
echo " *** System information ***"
printex "cat /proc/version"
cat /proc/version
printex "cat /proc/cmdline"
cat /proc/cmdline
printex "uname -a"
uname -a
printex "uptime"
uptime
echo " ## summary info"
printex "vmstat 1 10"
vmstat
echo "" echo " *** CPU information ***"
CORES=$(grep processor /proc/cpuinfo | wc -l)
CPU_TYPE=$(uname -m)
echo " TITLE: CPU type: ${CPU_TYPE}, cores: ${CORES}"
printex "cat /proc/cpuinfo"
cat /proc/cpuinfo
echo "" echo " *** Memory information ***"
printex "free"
free
printex "cat /proc/meminfo"
cat /proc/meminfo
echo "" echo " *** Disk/Flash information ***"
printex "mount -l #current mount info"
mount -l
printex "fdisk -l #current disk info"
fdisk -l
printex "df -h #current fs info with using rate"
df -h
printex "cat /etc/mtab"
cat /etc/mtab
printex "cat /etc/fstab"
cat /etc/fstab
echo "" echo " *** Processes/Threads information ***"
echo " ## limited info"
printex "ulimit -a"
ulimit -a
echo " ## ten processes catch most CPU resource"
printex "ps aux | sort -k 3 -r | head -11"
ps aux | sort -k -r | head -
echo " ## ten processes catch most Memory resource"
printex "ps aux | sort -k 4 -r | head -11"
ps aux | sort -k -r | head -
echo "" echo " *** Lardge information ***"
printex "lsmod #current modules and referenced counter"
lsmod
printex "top -d 1 -n 1"
top -d -n
echo " ## all process info"
ps -ef
printex "cat /var/log/dmesg"
cat /var/log/dmesg
echo "" COND=
done >> ${LOG_FILE} unix2dos ${LOG_FILE}

了解你的Linux系统:必须掌握的20个命令的更多相关文章

  1. Shell脚本编程——了解你的Linux系统必须掌握的20个命令

    要想详细了解你的Linux系统,为系统评估和性能调化提供准确的信息,那么,你会经常用到这几组命令. 一. 系统信息     1. 查看内核版本.编译主机.编译器版本和编译时间的信息    cat /p ...

  2. 不同linux系统添加开机启动程序的命令

    see http://phpcj.org/blog/%E4%B8%8D%E5%90%8Clinux%E7%B3%BB%E7%BB%9F%E6%B7%BB%E5%8A%A0%E5%BC%80%E6%9C ...

  3. Linux系统基本网络配置之ifconfig命令

    Linux系统基本网络配置之ifconfig命令 一.Linux系统的网络配置基本包括:网络IP的配置.网关路由的配置.主机DNS的配置.主机名的配置等,本篇注重介绍网络IP的配置. 二.Linux系 ...

  4. Linux系统下文件压缩与打包命令

    Linux系统下文件压缩与打包命令 常用的压缩文件拓展名 * .Z * .zip * .gz * .bz2 * .xz * .tar * .tar.gz * .tar.bz2 * .tar.xz 压缩 ...

  5. Linux 系统中如何查看日志 (常用命令) tail -f

    Linux 系统中如何查看日志 (常用命令)  tail -f 日志文件 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日 ...

  6. 对Linux 专家非常有用的20 个命令

    谢谢你你给了我们在这篇文章前两个部分的喜欢,美言和支持.在第一部分文章中我们讨论了那些都只是切换到 Linux 和linux新手所需的必要知识的用户的命令. 对 Linux 新手非常有用的 20 个命 ...

  7. 对中级Linux 用户非常有用的20 个命令

    也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令的一个延伸. 第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户.在这里你将学会如何进行自定 ...

  8. (转)对 Linux 专家非常有用的 20 个命令

    谢谢你你给了我们在这篇文章前两个部分的喜欢,美言和支持.在第一部分文章中我们讨论了那些都只是切换到 Linux 和linux新手所需的必要知识的用户的命令. 对 Linux 新手非常有用的 20 个命 ...

  9. (转)对中级 Linux 用户非常有用的 20 个命令

    也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令的一个延伸. 第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户.在这里你将学会如何进行自定 ...

  10. 对 Linux 专家非常有用的 20 个命令

    原文链接:http://www.oschina.net/translate/20-advanced-commands-for-linux-experts?from=20130811 对中级 Linux ...

随机推荐

  1. hive(七)hive-运行方式、GUI接口、权限管理

    1.Hive运行方式: 命令行方式cli:控制台模式 脚本运行方式(实际生产环境中用最多) JDBC方式:hiveserver2 web GUI接口 (hwi.hue等)   1.1Hive在CLI模 ...

  2. 湖南省第十一届大学生程序设计竞赛:Internet of Lights and Switches(HASH+二分+异或前缀和)

    Internet of Lights and Switches Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 3  Solved: 3[Submit][ ...

  3. MVC公开课 – 2.查询,删除 (2013-3-15广州传智MVC公开课)

    查询 /Controller/HomeController.cs /// <summary> /// 查询 文章 列表 /// </summary> /// <retur ...

  4. Go语言入门之切片的概念

    切片是对数组的抽象,对切片的改变会改变原数组的值 package main import "fmt" func test6(){ arr:=[...],,,,,,,,,,} s1: ...

  5. 【LOJ】#2349. 「JOI 2017/2018 决赛」团子制作

    题解 有意思的一个dp,我们对G计数,发现如果不在同一条对角线上的G肯定不会互相影响,所以我们对于每一条对角线dp dp的方式是枚举这个G以什么方式放,横着还是竖着,还是不放 代码 #include ...

  6. 程序员必备的代码审查(Code Review)清单

    在我们关于高效代码审查的博文中,我们建议使用一个检查清单.在代码审查中,检查清单是一个非常好的工具——它们保证了审查可以在你的团队中始终如一的进行.它们也是一种保证常见问题能够被发现并被解决的便利方式 ...

  7. 洛谷P1993 小K的农场 [差分约束系统]

    题目传送门 小K的农场 题目描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三种形式描述: 农场a比农场b ...

  8. GIT修改邮箱

    git报错-->! [remote rejected] master -> master (push declined due to email privacy restrictions) ...

  9. Android 之JSON数据解析

    (以下基本都是郭霖大神<第一行代码>中的知识) JSON数据与xml相比,优势在于体积更小,传输所需的流量少.但是缺点也很明显,就是语义性较差. 下面是一组JSON格式的数据. [{&qu ...

  10. Hibernate 组合主键映射

    在开发过程中创建数据库表时,有时候会发现单纯的创建一个主键是不可行的,有时候就需要多个字段联合保持唯一,本文讲述如何创建组合主键的映射. 例如:记录一个班的考试成绩.学生跟科目是多对多的关系,只有一个 ...