了解你的Linux系统:必须掌握的20个命令
转载: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个命令的更多相关文章
- Shell脚本编程——了解你的Linux系统必须掌握的20个命令
要想详细了解你的Linux系统,为系统评估和性能调化提供准确的信息,那么,你会经常用到这几组命令. 一. 系统信息 1. 查看内核版本.编译主机.编译器版本和编译时间的信息 cat /p ...
- 不同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 ...
- Linux系统基本网络配置之ifconfig命令
Linux系统基本网络配置之ifconfig命令 一.Linux系统的网络配置基本包括:网络IP的配置.网关路由的配置.主机DNS的配置.主机名的配置等,本篇注重介绍网络IP的配置. 二.Linux系 ...
- Linux系统下文件压缩与打包命令
Linux系统下文件压缩与打包命令 常用的压缩文件拓展名 * .Z * .zip * .gz * .bz2 * .xz * .tar * .tar.gz * .tar.bz2 * .tar.xz 压缩 ...
- Linux 系统中如何查看日志 (常用命令) tail -f
Linux 系统中如何查看日志 (常用命令) tail -f 日志文件 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日 ...
- 对Linux 专家非常有用的20 个命令
谢谢你你给了我们在这篇文章前两个部分的喜欢,美言和支持.在第一部分文章中我们讨论了那些都只是切换到 Linux 和linux新手所需的必要知识的用户的命令. 对 Linux 新手非常有用的 20 个命 ...
- 对中级Linux 用户非常有用的20 个命令
也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令的一个延伸. 第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户.在这里你将学会如何进行自定 ...
- (转)对 Linux 专家非常有用的 20 个命令
谢谢你你给了我们在这篇文章前两个部分的喜欢,美言和支持.在第一部分文章中我们讨论了那些都只是切换到 Linux 和linux新手所需的必要知识的用户的命令. 对 Linux 新手非常有用的 20 个命 ...
- (转)对中级 Linux 用户非常有用的 20 个命令
也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令的一个延伸. 第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户.在这里你将学会如何进行自定 ...
- 对 Linux 专家非常有用的 20 个命令
原文链接:http://www.oschina.net/translate/20-advanced-commands-for-linux-experts?from=20130811 对中级 Linux ...
随机推荐
- Delphi 中的自动释放策略
来自万一老师的博客:http://www.cnblogs.com/del/archive/2011/12/21/2295794.html ------------------------------- ...
- 深度学习方法(七):最新SqueezeNet 模型详解,CNN模型参数降低50倍,压缩461倍!
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 继续前面关于深度学习CNN经典模型的 ...
- csu 1801(合数分解+排列组合)
1801: Mr. S’s Romance Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 15 Solved: 5[Submit][Status][W ...
- Windows内核进程管理器解析
Windows内核是如何实现线程挂起的?如何实现线程挂载到进程的?如何实现杀死进程和线程的? 从源码分析一下,这些操作具体在源码上是如何实现的. 进程创建.线程切换.线程跨越CPU权限级.进程挂靠.杀 ...
- 在go中连接mysql
5.访问数据库 5.1 database/sql接口 5.2 使用MySQL数据库 5.3 使用SQLite数据库 5.4 使用PostgreSQL数据库 5.5 使用Beego orm库进行ORM开 ...
- 向SD卡写入树莓派的操作系统
这是 meelo 原创的 玩转树莓派 系列文章 用到的工具: Win32 Disk Imager: sd卡读卡器 Raspbian操作系统镜像:下载地址 步骤1:下载操作系统的镜像 树莓派基金会的网 ...
- n*m的矩阵,行和列都递增有序,求是否出现target元素(面试题)
题目描述:给定一个n*m的矩阵,矩阵的每一行都是递增的,每一列也是递增的,给定一个元素target,问该target是否在矩阵中出现. 思路:先从最左下角的元素开始找,三种情况: 1. 如果该元素大于 ...
- day6 os模块
OS模块 提供对操作系统进行调用的接口 (1)os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 >>> os.getcwd() 获取 ...
- Eclipse项目红色叹号解决方法
情况:就是项目出现红色感叹号 解决方法: 对准项目右键选择Build Path → configure build path 点击eclipse项目的configure build path后,在弹出 ...
- Linux 下安装gmpy2
GMP(GNU Multiple Precision Arithmetic Library,即GNU高精度算术运算库),它是一个开源的高精度运算库,其中不但有普通的整数.实数.浮点数的高精度运算,还有 ...