Centos基础指令:更好的掌握系统运行情况

简介: Centos基础指令:更好的掌握系统运行情况

Watch 指令:周期性执行别的指令

命令解析

-n 代表时间间隔,单位秒
-d 后跟要监控的指令

常见用法

动态观测内存变化

watch -n 5 -d free -h

动态观测存储的变化

watch -n 5 -d df -h

Screen 指令:调试的利器

命令安装

yum install screen

常见用法

  • 创建一个新的screen session

    screen -S name
    
  • 进入到一个新的screen session

    screen -r name
    
  • 退出一个screen session

  • 关闭一个screen session

    注意事项

    该指令不能作为最终生产线的运行模式,因为打印的日志量是有限的,只能在调试模式使用。

Systemctl指令:生产线的标配

centos中自带的命令,用于启停服务,对应的日志命令为 journalctl。

常见使用

在 /lib/systemd/system/中定义好 xxx.service

  • 启动xxx服务

    systemctl start xxx
    
  • 查看xxx服务状态

    systemctl status xxx
    
  • 关闭xxx服务

    systemctl stop xxx
    
  • 查看xxx服务的日志

    journalctl -u xxx -f
    

    注意事项

    在docker中使用systemctl的时候需要注意,以普通的方式进入到docker中是无法使用systemctl指令的,需要添加参数 --privileged=true。这部分原理在介绍Docker的时候将会详细介绍。

监控机器的运行状态

内存

free 指令

free -h

在这里插入图片描述

硬盘

df 指令

df -h

在这里插入图片描述

磁盘这里需要多linux文件系统有一定了解,才能看懂。不过看个大概还是没问题。

进程

ps 指令

ps -aux | grep manager-api

在这里插入图片描述

其中红框那一列是进程号。

进程树

pstree 指令

pstree 17443

17443是上述进程号

网络情况

netstat 指令

netstat -anop | grep 9000

9000是端口号
在这里插入图片描述

红框区域是进程号,绿框区域是进程。

top:查看整体运行情况

top

在这里插入图片描述

火焰图:监控进程的状态,性能调优

利用动态追踪技术,使用systemtap,参考资料:动态追踪工具——火焰图

安装

找到自己的版本详情,注意由于安装的工具一定要与内核版本一致,所以这里不能找错了。

uname -a

在这里插入图片描述

前往官方网站寻找对应版本的内核debuginfo工具 CentOS Debuginfo Mirror
分别以kernel-debuginfo和kernel-debuginfo-common为关键字搜索寻找
在这里插入图片描述

在这里插入图片描述

下载好之后,传输到服务器上之后,安装,执行命令

rpm -ivh kernel-debuginfo-common-x86_64-3.10.0-1127.19.1.el7.x86_64.rpm
rpm -ivh kernel-debuginfo-3.10.0-1127.19.1.el7.x86_64.rpm

然后下载对应的kernel-devel版本,这是内核开发库。一般来说,你的操作系统里面都有。没有安装就行,版本需要和之前的内核版本对应上。

然后,安装systemtap工具即可。

yum install systemtap

然后下载openresty提供的systemtap工具,openresty-systemtap-toolkit 和 火焰图生产工具 brendangregg / FlameGraph 到本地。

获取你想分析的进程Id,我这里使用阿里云服务器的云盾服务来分析。
在这里插入图片描述

进程号是18982,来到openresty-systemtap-toolkit的目录下,执行命令:

./sample-bt -p 18982 -t 20 -u > svg/b.bt

然后进入到svg目录,确保生成的b.bt大小不为0。执行下面的命令生成最终的svg图片

~/FlameGraph-1.0/stackcollapse-stap.pl b.bt > b.cbt
~/FlameGraph-1.0/flamegraph.pl b.cbt > b.svg

将b.svg下载下来,最终的效果如下:
在这里插入图片描述
关于火焰图怎么使用,怎么做性能调优,请参考博文:动态追踪技术漫谈

最后,我和朋友建了一个一同学习测开技企鹅群(闲聊,水群,广告勿扰):826471103,对博客内容开发感兴趣的朋友可以加群,避免错过后续内容。

目录
相关文章
|
5月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
754 4
|
9天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
98 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
18天前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
44 1
Linux系统之Centos7安装cockpit图形管理界面
|
7天前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
12 3
|
21天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
155 3
|
4月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
2月前
|
网络协议 Linux Shell
CentOS7系统命令学习笔记(一)
CentOS7系统命令学习笔记(一)
|
2月前
|
Linux
CentOS7系统命令学习笔记(二)
CentOS7系统命令学习笔记(二)
|
2月前
|
Linux Shell API
CentOS7系统命令学习笔记(三)
CentOS7系统命令学习笔记(三)
|
3月前
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
78 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)