查看Linux系统的CPU,内存,硬盘等shell语句

【显示系统信息 1】

[liusiyi@localhost ~]$ uname -a
Linux CNSH237048 3.10.0-693.17.1.el7.x86_64 #1 SMP Sun Jan 14 10:36:03 EST 2018 x86_64 x86_64 x86_64 GNU/Linux

内核(操作系统)名称-s

网络节点主机名-n

内核版本的发行遍号-r

内核版本(日期)-v

机器硬件名称-m

处理器类型-p

硬件平台-i

操作系统-o

显示全部信息-a

 

【显示系统信息 2】

[liusiyi@localhost ~]$ head -n2 /etc/issue  #或者 head -2 /etc/issue

\S
Kernel \r on an \m

这里显示从終端介面登入linux时展示的文字信息(也就是/etc/issue里配置的信息)文件的前两行。根据shell命令"man issue"可知,The  file /etc/issue is a text file which contains a message or system identification to be printed before the login prompt. It may contain various @char and \char sequences, if supported by the getty-type program employed on the system),也即是说 "\"是转义字符; 再通过命令 "man agetty"可以查到:

\S\s表示system name. Same as `uname -s',

\r表示release number of the OS. Same as `uname -r'

\m表示architecture identifier of the machine. Same as `uname -m'

这两行表示到终端,类似于这样:

Linux

Kernel 3.10.0-693.17.1.el7.x86_64 on an x86_64

 

【查看CPU详情】

查看CPU(物理封装)个数

[liusiyi@localhost ~]$ cat /proc/cpuinfo |grep "physical id" | sort | uniq |wc -l  #注意这里光写uniq可能还会有重复的id,要加sort
2

查看(每个物理封装内的)核数

[liusiyi@localhost ~]$ cat /proc/cpuinfo |grep "cpu cores" | sort | uniq
cpu cores : 10

查看(每个物理封装内的)逻辑处理器的数量

[liusiyi@localhost ~]$ cat /proc/cpuinfo |grep "siblings" | sort | uniq
siblings : 20

查看 所有(物理封装内的)处理器数量

[liusiyi@localhost ~]$ cat /proc/cpuinfo |grep "processor" | sort | uniq | wc -l
40

physical id    每个物理封装的唯一标识符

cpu cores     位于相同物理封装的处理器中的 内核数量

core id          每个核心的唯一标识符

siblings         位于相同物理封装的处理器中的 逻辑处理器的数量

processor     逻辑处理器的唯一标识符

/proc文件系统是一个伪/虚拟文件系统,CPU的信息在启动的过程中被挂载到 /proc 上;它只存在内存当中,而不占用外存空间;它以文件系统的方式为访问系统内核数据的操作提供接口,包含了很多内核和系统信息。用命令"cat /proc/cpuinfo" 可以查看CPU所有信息,内容很长,所以一般用管道+grep形式,只显示需要的那部分信息。如果用超线程技术,一个内核里会有N个虚拟的逻辑处理器,N= # of processor / (# of physical ids * # of cpu cores)。所以我这台机器是一个有2个物理封装,每个物理封装有10个内核,每个物理封装有20个处理器,一共有40个处理器。且可推出每个核有可划分为2个逻辑处理器(超线程技术),N=2 。

 

【查看内存信息】

查看内存总量、未占用内存、可用内存

[liusiyi@localhost ~]$ cat /proc/meminfo |grep -E "MemTotal|MemFree|MemAvailable"  #或者 grep -E "MemTotal|MemFree|MemAvailable" /proc/meminfo
MemTotal: 263247164 kB
MemFree: 87395208 kB
MemAvailable: 102849544 kB

同上,/proc/meminfo这个文件里包含了内存信息。用cat /proc/meminfo可以查看所有详细,用管道符+grep可查看部分信息。

【查看实时进程】

[liusiyi@localhost ~]$ top 
top - 14:09:33 up 153 days, 4:46, 7 users, load average: 1.01, 1.04, 1.05
Tasks: 571 total, 2 running, 566 sleeping, 2 stopped, 0 zombie
%Cpu(s): 2.4 us, 0.2 sy, 0.0 ni, 97.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 26324716+total, 86419528 free, 15910492+used, 17722712 buff/cache
KiB Swap: 5242876 total, 4760044 free, 482832 used. 10187698+avail Mem

默认状态显示的是cpu密集型的进程,并且每5秒钟更新一次。退出输入"q"。

也可以只查看某个用户的进程,"top -u liusiyi"

 

【查看实时进程】

$ ps -l                #目前属于您自己这次登入的 PID 与相关信息列示出来

$ ps -ef             #显示所有命令,连带命令行

$ ps -u root            #显示root进程用户信息

$ ps-aux             #显示所有包含其他使用者的行程

$ ps -ef | grep ssh         #查找特定进程,包含ssh

$ ps aux | egrep "ftp|watchdog"   #找出与 ftp与 watchdog这两个服务有关的 pid

 

ps提供的是一次性的进程快照,而不是实时的。


【查看硬盘信息】

查看所有分区 fdish -l

 

【其他】

$ rpm –qa                                #查看所有安装的软件包

$ ifconfig            #查看网络连接

 

$ mount | column -t      #查看挂接的分区状态

$ df -h                                    #查看各分区使用情况disk free

 

posted @ 2019-07-01 10:04  柳思颐开心的一天  阅读(774)  评论(0编辑  收藏  举报