0. 前言
当刚接手一台新的服务器时,先认识下这台服务器的性能是很有必要的,特别是项目管理相关的事,对系统软硬件性能的不了解很可能导致出现差错,下面来简单介绍下Linux系统下系统信息、硬件信息的查看命令。
1. CPU相关信息
1. 查看CPU个数cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
示例输出:1
说明:
这是查看记录CPU相关的文件(/proc/cpuinfo)的详细信息。cat 命令:查看文件内容;grep 命令:字符串拼接;uniq 命令:删除重复行;wc -l 命令:统计行数。通过查看cpu信息文件,根据物理核id(重复的不计)的个数获取物理核个数。
2. 查看每个CPU物理核数cat /proc/cpuinfo | grep "cpu cores" | uniq
示例输出:cpu cores : 1
3. 查看每个CPU逻辑核数cat /proc/cpuinfo | grep "siblings" | uniq
示例输出:siblings : 2
4. 查看CPU逻辑核总个数cat /proc/cpuinfo | grep "processor" | uniq | wc -l
示例输出:2
说明:
一般所说的CPU是几核指的是CPU逻辑核总数
5. 查看CPU型号cat /proc/cpuinfo | grep "model name" |uniq
示例输出:model name : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
举个总例子
以上输出表示,该服务器共有1个CPU(physical id 数目),每个CPU有1个物理核(cpu cores),每个物理核模拟2个逻辑核(siblings,使用超线程技术),型号为Intel芯片 E5-2680型,主频为2.50GHz。
6. 查看CPU使用情况mpstat -P ALL
示例输出:1
2
3
4
5
6// 分别显示每个核的使用情况
Linux 3.10.0-693.2.2.el7.x86_64 (izwz94dg1rsooqkjwxzwfxx) 03/08/2019 _x86_64_ (1 CPU)
04:42:05 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
04:42:05 PM all 0.42 0.00 0.23 0.01 0.00 0.00 0.00 0.00 0.00 99.34
04:42:05 PM 0 0.42 0.00 0.23 0.01 0.00 0.00 0.00 0.00 0.00 99.34
1 | %usr 在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程 (usr/total)*100 |
2. 内存相关信息
1. 查看内存大小、条数数量dmidecode | grep -P -A5 "Memory Device" | grep Size
示例输出: Size: 4096 MB
说明:
dmidecode 命令是用来查看服务器硬件信息的,显示的都是结构化数据,但信息量相比其他命令较小,适合用于简单了解服务器基本硬件信息。
2. 查看内存相关硬件信息dmidecode | grep -A16 "Memory Device$"
示例输出:
3. 查看内存详细使用信息——1cat /proc/meminfo
示例输出(部分):
说明:
这是查看记录内存使用相关的文件(/proc/meminfo)的详细信息,由于信息过多,而且数据格式不易阅读,这里不赘述。值得一提的是,很多监控内存使用的命令都与此文件有关,如free 命令,使用这些命令可以跟和谐的查看内存使用情况。
4. 查看内存详细使用信息——2free
示例输出:
Mem参数说明
参数名 | 参数说明 | |
---|---|---|
1 | total | 所有可用的物理内存大小,总物理内存减去预留位和内核使用。操作系统本身(正文段、数据段等等)就会占用不少内存,此外还有系统各种保留的内存,把这些都去掉就是可用内存,对应 /proc/meminfo 中的MemTotal。另 total = used + free + shared + buff/cache |
2 | used | 已经被使用的物理内存 |
3 | free | 网上说是未被分配的内存,这样的说法可能不太准确,应该是当前空闲的内存数目,是系统层面上的空闲,对应 /proc/meminfo 中的MemFree |
4 | shared | 共享内存,一般比较小 |
5 | buff/cache | buff域描述的是块设备所占用的缓存,cache域描述的就是用于普通文件IO的page cache的数量,对应 /proc/meminfo 中的Buffers + Cached + MemFree |
6 | available | 当前可用的内存总量(可用于分配给应用的,不包含虚拟内存),即应用层面上的可用的,CentOS 7 中有显示,对应 /proc/meminfo 中的MemAvailable |
buff:缓冲区,以块为单位存储在内存中的缓冲区。cache:页面高速缓存,以页为单位存储在内存,一页包含若干块。二者都是以减少磁盘IO为目的。在Linux内核2.4后才将二者的实现统一。
available 代表的是一个新的应用程序可以使用内存的估计值,它不等于 free + buff/cache(在centos6 中是等于的),因为在centos 7.2与Ubuntu 16.04以上(包含)的系统使用了新的Linux内核,所以并不是所有的buffer/cache空间都可以被回收。
3. 系统相关信息
1. 查看Linux内核版本cat /proc/version
示例输出:
2. 查看发行版信息——1cat /etc/issue
示例输出:1
2CentOS release 6.7 (Final)
Kernel \r on an \m
3. 查看发行版信息——2cat /etc/redhat-release
示例输出:CentOS Linux release 7.2.1511 (Core)
说明:
该命令只适合Redhat系的Linux
4. 查看发行版信息——3cat /etc/os-release |grep VERSION
示例输出:
4. 硬盘相关信息
1. 查看硬盘及分区信息fdisk -l
示例输出:
2. 查看磁盘空间占用情况df -h
示例输出:
3. 递归查看某路径下文件夹的磁盘空间占用情况du -h /usr/local/
示例输出:
说明:
该命令最后的参数是文件夹路径,显示出的路径是文件夹,不包括文件。再添加参数s,如du -sh /usr/local
可以查看该路径下的总大小
Copyright © 2018, CSCW back-end Kanarien, All Rights Reserved