一、查看操作系统相关信息
1.1、uname命令
显示全部信息:

显示计算机类型,系统是多少位:

显示计算机名:
uname -n

显示内核版本号:
uname -r

显示操作系统名称:
uname -s

内核版本的发行时间:
uname -v

1.2、查看Linux系统版本

1.3、查看Linux系统的位数
getconf LONG_BIT

注:32位的系统中long类型是4字节,64位的系统中long类型是8字节
二、查看CPU相关信息
查看CPU的详细信息:
cat proc/cpuinfo

注:physical id就是每个物理CPU的id,有几个不同的physical id就有几个物理CPU
查看物理CPU的个数:
cat proc/cpuinfo |grep "physical id"|sort |uniq|wc -l

注:core id就是每颗物理CPU的物理内核id,有几个不同的core id就有几个物理内核,你电脑的总CPU物理内核数=物理CPU_1*物理CPU_1的内核数+...+物理CPU_n*物理CPU_n的内核数
查看物理CPU核数:
cat proc/cpuinfo | grep "cpu cores" | uniq

注:processor就是逻辑CPU,有几个processor就有几个逻辑CPU,比如我的linux虚拟机的processor有0、1,所以就有2个逻辑CPU
查看逻辑CPU的个数:
cat proc/cpuinfo |grep "processor"|wc -l

查看每个物理CPU中逻辑CPU的个数:
cat /proc/cpuinfo | grep 'siblings' | uniq

查看CPU是否启用超线程:
cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq

注:平时我们经常会问运维分配的机器是几核几线程的,如果你的机器有1个物理CPU,这个CPU是双核的,并且支持超线程,那这台机器就是双核四线程,不支持超线程的话就是双核双线程,这个线程数其实就是上面介绍的逻辑CPU的个数
三、用top查看CPU负载和内存使用情况

3.1、第1行:top
注:load average这个参数很重要,根据它能判断CPU的负载是否过重,所谓CPU负载指的是一段时间内共有多少个任务在使用或者等待使用CPU,当CPU完全空闲的时候,平均负荷为0,当CPU工作量饱和的时候,平均负荷为逻辑CPU的个数,当CPU过载的时候,平均负荷大于逻辑CPU的个数,此时表明有任务在等待,通常我们参考5分钟和15分钟的平均负载,因为1分钟太短,随机性较大
3.2、第2行:Tasks
3.3、第3行:%Cpu(s)
3.4、第4行:KiB Mem
3.5、第5行:KiB Swap
3.6、第6行
注:%CPU显示的是进程占用1个核的百分比,而不是整个cpu的百分比(因为可能是多核),有时候可能会大于100,那是因为该进程启用了多线程占用了多个核心,但是不会超过总核数*100
四、查看内存使用情况

MemAvailable:真正的系统可用内存,系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer、slab都有一部分可以回收,所以这部分可回收的内存加上MemFree才是系统可用的内存
注:通过free查看机器的空闲内存时,发现free的值很小,这是因为buff和cache会占用一部分空间,其实这部分空间也是可用的,所以空闲内存为total-used或者free+buff/cache
五、查看磁盘和磁盘分区、挂载
查看服务器硬盘信息:

查看所有分区:

查看磁盘分区和挂载情况:

查看所有交换分区:

六、网络
查看所有网络接口属性:

查看网卡带宽:
注:ethtool 网卡名,因为可能存在多张网卡

查看路由表:
route -n

查看所有监听端口:
netstat -lntp

查看所有已经建立的连接:
netstat -antp

某端口使用情况:
netstat -apn|grep 3306
注:netstat -apn|grep 端口号

查看所有进程:
ps -ef

注:过滤进程,ps -ef|grep 关键字,比如查看mysql的进程,ps -ef|grep mysql



查看活动用户:
w

查看指定用户的信息:

查看用户登录日志:
last

查看系统所有用户:
cut -d: -f1 /etc/passwd





