检索目录
查看服务器信息(Centos 7.9)
查看设备型号
grep 'DMI' /var/log/dmesg
dmidecode |grep -A4 'System Information'
dmidecode -s system-product-name
查看CPU信息
1、查看CPU型号
cat /proc/cpuinfo | grep 'model name' |uniq
逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)
# 物理CPU个数
cat /proc/cpuinfo | grep "physical id" | sort | uniq|wc -l
# 逻辑CPU个数
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
# CPU核数
cat /proc/cpuinfo | grep "cpu cores" | uniq
# CPU总核数与型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# 超相信CPU信息
cat /proc/cpuinfo
2、查看操作系统
# 操作系统内核
uname -a
# 操作系统版本
cat /etc/redhat-release
3、查看内存
free -h
# 查看内存型号 条数
yum install dmidecode -y
dmidecode | grep -A16 "Memory Device$"
4、查看硬盘
df -h
# 查看硬盘信息
yum install smartmontools
smartctl --all /dev/sda
5、查看网络
# 查看网卡型号
yum install pciutils -y
lspci | grep Ethernet
查看进程占用的带宽
1、安装 iftop
yum install iftop -y
2、通过 iftop 命令查看本机和其他机器的流量交互情况,可以看到上行流量和下行流量的主要流向
iftop
3、查看有流量的 网卡的网卡名称
ifconfig
4、根据网卡名称查看每个网卡的哪些端口在使用流量
iftop -i 网卡名 -n -P
5、根据端口号查看进程id
lsof -i:端口号
6、根据进程 id 查看进程,找到占用流量比较大的进程
ps -ef|grep pid
7、还有一种简单的方法,可以直接看到哪些进程占用的流量多
yum install -y nethogs
nethogs 网卡名
查看占用端口的进程
netstat -ap | grep 8080
lsof -i:8888
netstat -tunlp
杀进程
1、根据进程名查看pid
ps -aux | grep 进程名
ps -ef| grep 进程名
# 给出部分进程名即可
pgrep 进程名
# 必须给出完整的进程名
pidof 进程名
2、根据启动命令批量杀进程
ps -ef|grep 进程名关键字|grep -v grep|cut -c 9-15|xargs kill -9
ps -ef|grep start_*|grep -v grep|cut -c 9-15|xargs kill -9
sudo kill -9 $(pidof 进程名关键字)
sudo kill -9 $(pgrep 进程名关键字)
# 支持正则表达式,输入进程的部分字符也可以生效,如果想知道会pkill哪些进程,可以用 pgrep -l [进程名] 验证一下
pkill 进程名
该命令表示批量杀死命令里含有start_的进程(可以通过top->c 查看命令)。
查看线程占用情况
一般遇到错误 -bash: fork: Cannot allocate memory ,需要检查进程数
# 查看当前线程数量
ps -efL | grep ^$USER | wc -l
ps -eLf | wc -l
# 查看线程占用top10的应用
ps -efwww | awk '{print $8}' | sort | uniq -c | sort -n | tail -10
# 查看机器支持的最大线程数
cat /proc/sys/kernel/pid_max
sysctl kernel.pid_max
# 修改最大进程数
echo 1000000 > /proc/sys/kernel/pid_max
# 修改最大进程数 永久生效
echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
sysctl -p
查看存储空间
df -h
df -hl
du -h --max-depth=1 .
du -sh /data
du -sh *
du -a|sort -rn
有时候明明硬盘满了,但是通过上述命令找不到占用存储很大的文件或文件夹,则有可能是进程删掉了文件但未被释放,可以通过如下命令查看:
lsof / | grep -i delete
# 查看哪些进程
ps -ef|grep pid
# kill -9 pid,然后重启
修改open files
# 查看open files
ulimit -a
# 设置open files(临时)
ulimit -n 10032
修改系统时间
sudo tzselect
1.1 选择 亚洲Asia;
1.2 继续选择 中国China;
1.3 最后 选择北京Beijing。
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
命令行快捷键
ctrl + u : 从光标处删除文本直到行首。
ctrl + k : 从光标处删除文本直到行尾。
ctrl + y : 粘贴文本。
ctrl + e : 将光标移动到行尾。
ctrl + a : 将光标移动到行的开头。
alt + f : 光标移动到后一个单词
alt + b : 光标移动到前一个单词
alt + Backspace : Deletes the previous word.
ctrl + w : 剪切光标前面的字符至上一个空格处。
shift + insert : 将文本粘贴到终端中。
防火墙相关
1、查看防火墙当前状态
sudo ufw status
2、 开启防火墙
sudo ufw enable
3、关闭防火墙
sudo ufw disable
4、查看防火墙版本
sudo ufw version
5、默认允许外部访问本机
sudo ufw default allow
6、默认拒绝外部访问主机
sudo ufw default deny
7、允许外部访问53端口
sudo ufw allow 53
8、拒绝外部访问53端口
sudo ufw deny 53
9、允许某个IP地址访问本机所有端口
sudo ufw allow from 192.168.0.1
监控
1、 top
显示当前系统的cpu、内存以及进程的详细信息。
在top命令下按:
c: 切换显示命令和显示完整命令
m: 以内存使用率对进程排序
P(大写): 根据CPU使用百分比大小进行排序
2、free
显示物理内存、swap(交互内存)、缓存的使用情况。
# 分别以b、kb、mg、gb为单位显示内存使用情况
free -b (-k、-m、-g)
3、kill
# 按进程名杀掉某进程
kill -9 $(ps -ef | grep redis)
4、df
查看每个磁盘的使用情况
# 易读的显示每个磁盘的使用情况
df -h
5、du
查看某文件或文件夹的使用情况
# 查看server目录下每个文件或文件夹的大小
du -hc --max-depth=1 /usr/server
# 查看server目录下每个文件的大小
df -ah
6、查看CPU负载情况
uptime
cat /proc/loadavg
权限
1、某文件夹内的所有子文件夹/子文件赋权限
chmod -R 777 文件夹名称/
清理缓存(free命令里的cached)
echo 3 > /proc/sys/vm/drop_caches
查找
# find 路径("/" 代表根目录) -name 文件名
find / -name redis.conf
# 模糊查找:
find / -name *redis*
重启网卡(ubuntu)
ifdown em2
/etc/init.d/networking restart
ifup em2