1.查看CPU信息
- 方法一:查看CPU信息的文件 cat /proc/cpuinfo
信息名称 | 代表意思 |
---|---|
model name | CPU属于的名字及其编号、标称主频 |
cpu | CPU的实际使用主频(单位:赫兹) |
cache size | CPU二级缓存大小 |
physical id | 单个CPU的标号 |
siblings | 单个CPU逻辑物理核数 |
core id | 当前物理核在其所处CPU中的编号,这个编号不一定连续 |
cpu cores | 该逻辑核所处CPU的物理核数 |
apicid | 用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续 |
fpu | 是否具有浮点运算单元(Floating Point Unit) |
fpu_exception | 是否支持浮点计算异常 |
cpuid level | 执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容 |
wp | 表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection) |
flags | 当前CPU支持的功能 |
bogomips | 在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second) |
clflush size | 每次刷新缓存的大小单位 |
cache_alignment | 缓存地址对齐单位 |
address sizes | 可访问地址空间位数 |
- 计算计算机总的核心数:
grep "core id" /proc/cpuinfo
这里显示的其实是计算机不同CPU拥有的核心标号,比如1号CPU下有核心0、核心1、核心2、核心3。2号CPU下有核心0、核心1、核心2、核心3
grep -c "core id" /proc/cpuinfo(这里 -c 代表计数 count)
所以我们可以看到系统中的总核心有8个
- 计算计算机的路数
我们可以看到CPU的标号只有 0 和 1
去掉重复项,并计数
这里的uniq是去重的作用,wc -l 用来统计并计数 ,最后得到CPU总数为2
grep 'physical id' /proc/cpuinfo | uniq | wc -l
方法二:
命令 lscpu
信息名称 | 代表意思 |
---|---|
Architecture: | 架构 |
CPU(s): | 逻辑cpu颗数 |
Thread(s) per core: | 每个核心线程 |
Core(s) per socket: | 每颗物理cpu核数 |
CPU socket(s): | cpu插槽数 |
Vendor ID: | cpu厂商ID |
CPU family: | cpu系列 |
Model: | 型号 |
Stepping: | 步进 |
CPU MHz: | cpu主频 |
Virtualization: | cpu支持的虚拟化技术 |
L1d cache: | 一级缓存(cpu的L1数据缓存) |
L1i cache: | 一级缓存(cpu的L1指令缓存) |
L2 cache: | 二级缓存 |
方法三:
命令 top(不仅可以看CPU的信息,还可以查看进程的信息)
字段 | 含义 |
---|---|
PID | 进程id |
USER | 进程所有者的用户名 |
PR | 优先级 |
NI nice值 | 负值表示高优先级,正值表示低优先级 |
VIRT:virtual memory usage | 进程使用的虚拟内存总量,单位kb VIRT=SWAP+RES |
RES | 进程使用的、未被换出的物理内存大小,单位kb RES=CODE+DATA |
SHR | 共享内存大小,单位kb |
S | 进程状态 (D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程) |
%CPU | 上次更新到现在的CPU时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
COMMAND | 命令名(命令行) |
- 一些字段介绍
- VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量- RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小- SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来- DATA
1、数据占用的内存。如果top没有显示,按f键可以显示出来。
2、真正的该程序要求的数据空间,是真正在运行中要使用的。
以上字段介绍来自文档:https://www.cnblogs.com/zhoug2020/p/6336453.html
- 检查CPU信息
- 检查进程信息
- 检查内存信息
- 检查系统负载情况
- 检查系统用户登录数量
- 系统开启运行了多久
us: 用户态信息 用户操作命令产生要处理任务 运行一个脚本
sy: 内核态信息 系统守护进程/进程要处理任务
id: 空闲状态信息
2.查看内存信息
方法一:
查看配置文件 /proc/meminfo
MemTotal --- 总的内存容量
MemFree --- 空闲内存容量
MemAvailable: --- 可用内存容量
Buffers: --- 内存一部分空间 缓冲使用
Cached: --- 内存一部分空间 缓存使用方法二:
命令 free -h
Mem --- 行(第二行)是内存的使用情况
Swap --- 行(第三行)是交换空间的使用情况
total --- 系统总的可用物理内存和交换空间大小
used --- 已经被使用的物理内存和交换空间
free --- 还有多少物理内存和交换空间可用使用
shared --- 被共享使用的物理内存大小
buff/cache --- 被 buffer 和 cache 使用的物理内存大小
available --- 还可以被应用程序使用的物理内存大小
3.查看负载信息
显示CPU的繁忙程度分别是 5分钟 10分钟 15分钟
数值代表有多少物理核心处于繁忙的状态,最大不能超过物理总核心数
方法一:
查看 /proc/loadavg 文件
方法二:
命令 w
方法三:
命令 uptime
查看磁盘信息
方法一:
查看配置文件:/proc/mounts
方法二:
命令 df -h
信息名称 | 含义 |
---|---|
Filesystem | 设备文件 |
Size | 总大小 |
Used | 使用多少 |
Avail | 剩余多少 |
Use% | 磁盘占用率 |
Mounted on | 挂载点 |
需要监控磁盘的剩余与使用率,若其中任意一项满了可能会导致某些服务不能正常使用,或者直接不能启动
4.系统的基础优化
查看系统信息centos6与centos7相同
查看配置文件:/etc/redhat-release
使用命令 uname -a
4.1系统用户优化
如何创建用户:
useradd 用户名
如何创建密码:
passwd 用户名
passwd --stdin 用户名 --- 免交互式创建密码(只能root用户操作)
普通用户给自己修改密码:passwd
- 输入旧密码
- 输入新密码
- 再次输入密码
- 注意:普通用户给自己修改密码时有复杂度要求:
- 密码不可少于8位
- 必须以字母开头区分大小写并与数字、符号组成
whoami --- 查看自己当前登录的用户名称
4.2系统命令提示符优化
- 作用:
- 让提示符显示的信息更全
- 修复错误的命令提示
- 方法:通过修改环境变量 PS1
- 临时修改:
export PS1="[\u@\h \d \t \w]$"- 永久修改:
配置文件:/etc/profile
\u --- 识别系统登录用户,显示用户名称
\h --- 显示主机名称, 显示主机名称简写信息 oldboy.com --- 显示oldboy
\w --- 显示路径信息的最后一个目录信息
$ --- 显示用户身份信息 # root $ 普通用户
\t --- 显示时间- 修改提示符颜色
export PS1="[[\e[34;1m]\u[\e[0m][\e[35;1m]@[\e[0m][\e[32;1m]\h[\e[0m] [\e[31;1m]\w[\e[0m]]\$ "