[内容] Linux 硬件信息的显示 (处理器、内存、硬盘和其他硬件信息)

内容一:显示处理器信息

1.1 显示处理器进程 (虚拟核心) 数

# cat /proc/cpuinfo | egrep "core id|physical id|processor" | tr -d "\n" | sed s/processor/\\nprocessor/g | sed 's/physical/     physical/' | sed 's/core/     core/' | grep -v ^$ | wc -l

1.2 显示处理器物理核心数

# cat /proc/cpuinfo | egrep "core id|physical id" | tr -d "\n" | sed s/physical/\\nphysical/g | grep -v ^$ | sort | uniq | wc -l

1.3 显示物理封装处理器 (处理器 socket) 数

# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

1.4 显示处理器的详细信息

# lscpu

或者:

# cat /proc/cpuinfo

(补充链接:Linux 处理器详细信息的显示 (显示 /proc/cpuinfo 文件里的信息)

内容二:显示内存信息

2.1 显示内存使用情况

# free -m

(注意:这里显示的内存会比真实的硬件内存大小小一点)

2.2 显示内存详细信息

# cat /proc/meminfo

2.3 显示内存的总大小

# memunit=`dmidecode -t memory | egrep -i 'Size:' | egrep -i 'kb|mb|gb' | egrep -v -i 'Volatile|Maximum|Memory|Installed|Enabled' | awk '{print $NF}' | head -1`;memsize=`dmidecode -t memory | egrep -i 'Size:' | egrep -i 'kb|mb|gb' | egrep -v -i 'Volatile|Maximum|Memory|Installed|Enabled' | awk 'BEGIN{memtotal=0}{memtotal+=$2}END{print memtotal}'`; echo "$memsize $memunit"

内容三:显示硬盘信息

3.1 显示硬盘使用情况

# df -h

3.2 显示硬盘信息

# lsblk

3.3 显示硬盘总大小

# disksizeb=`lsblk -b | egrep -iv '\/|SWAP|NAME' | awk '$1!~/[0-9]/' | egrep 'disk' | awk 'BEGIN{disktotal=0}{disktotal=disktotal+$4}END{print disktotal}'`;let disksizek=$disksizeb/1024;let disksizem=$disksizek/1024;let disksizeg=$disksizem/1024;echo "$disksizeg GB"

内容四:显示其他硬件的信息

4.1 显示其他所有硬件的信息

# dmesg

4.2 显示某 1 个硬件的信息

# dmesg | grep -i mouse

(补充:这里以显示鼠标信息的方法为例)

[工具] Shell 检测性能指标 (例如:剩余硬盘空间、内存空间等)

介绍

基本信息

名称: 检测性能指标(例如:剩余硬盘空间、内存空间等)
作用: 检测性能指标(例如:剩余硬盘空间、内存空间等)

使用方法

1. 给此脚本添加执行权限
2. 执行此脚本

脚本

#!/bin/bash

ip=`ip a s | awk '/[1-2]?[0-9]{0,2}\.[1-2]?[0-9]{0,2}/&&!/127.0.0.1/{print $2}'`
host=`hostname`
disk=`df -h | awk '/\/$/{print $5}'`
mem=`free -m | awk '/Mem/{print $4}'`
cpu=`top -bn 1 | awk -F',' '/^%Cpu/{print $4 }' | awk '{print $1}'`
soft=`rpm -qa | wc -l`
port=`ss -ntulap | wc -l`

echo "$ip $host disk $disk"
echo "$ip $host mem $mem"
echo "$ip $host cpu $cpu"
echo "$ip $host soft $soft"
echo "$ip $host port $port"
echo

[步骤] Linux 开机自启 (通过 chkconfig 实现)

案例一:添加一个受 chkconfig 管理的服务(脚本)

1.1 编写一个脚本

# vim /etc/init.d/start.sh

创建以下内容:

#!/bin/bash
systemctl start httpd

# chkconfig: 345 85 15
# description: This is a script of starting httpd

(补充:chkconfig:后面的 3 个含义为 httpd 的级别为 3、4 和 5,启动序号为 85,关闭序号为 15)

1.2 给脚本添加执行权限

# chmod +x /etc/init.d/start.sh

1.3 将脚本添加到 chkconfig 中

# chkconfig --add start.sh

1.4 显示刚刚添加到 chkconfig 的应用

# chkconfig --list

案例二:通过 chkconfig 管理一个服务或脚本

2.1 设定 start.sh 在 3 和 5 等级为 on

# chkconfig --level 35 start.sh on

2.2 设定 start.sh 在各等级为 on,“各等级”包括 2、3、4、5 等级

# chkconfig start.sh on

2.3 设定 start.sh 在各等级为 off,“各等级”包括 2、3、4、5 等级

# chkconfig start.sh off

[步骤] openSUSE & SLES 开机自启

内容一:openSUSE & SLES 开机设置文档介绍

1) /etc/init.d/boot.local
2) /etc/init.d/halt.local
3) /etc/init.d/before.local
4) /etc/init.d/after.local


补充:
1) 其中的 boot.local 是在刚开机时,在所有其他的程序执行前执行的文件
2) 其中的 after.local 是在刚开机后,在所有其他的程序执行后执行的文件

(注意:上面第三和第四个档案默认是不存在的,可以自己创建一个, 就像写个 shell 一样很简单)

内容二:设置 openSUSE & SLES 开机自启命令的案例

2.1 创建 after.local 文件

# vim /etc/init.d/after.local

创建以下内容:

sudo systemctl restart httpd

(补充:这里以开机自启 httpd 程序为例)

2.2 给 after.local 文件执行权限

# chmod u+x /etc/init.d/after.local