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,对博客内容开发感兴趣的朋友可以加群,避免错过后续内容。

目录
相关文章
|
8月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1403 69
|
8月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
681 78
|
6月前
|
监控 关系型数据库 MySQL
在CentOS系统中,如何统计哪个进程打开了文件描述符?
利用上述方法,你可以有效地监控和统计CentOS系统中的进程打开的文件描述符数量,以帮助排查错误或优化系统配置。通过组合使用各种工具和命令,可以获得对系统状态和行为的深入了解,进而做出相应的调整和
288 5
|
9月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
886 79
|
8月前
|
缓存 监控 Linux
CentOS系统如何查看当前内存容量。
以上方法都不需要特殊软件或者复杂配置即可执行,在CentOS或其他Linux发行版中都适合运行,并且它们各自透露出不同角度对待问题解答方式:从简单快速到深入详尽;从用户态到核心态;从操作层数到硬件层数;满足不同用户需求与偏好。
584 8
|
10月前
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
705 18
|
8月前
|
存储 Linux 数据安全/隐私保护
确定CentOS系统分区表类型(MBR或GPT)
以上方法均能够帮助用户准确地识别出CentOS下连接硬件所应用得具体磁盘标准,并根据实际需求做进一步处理与管理工作。
772 0
|
8月前
|
Ubuntu Linux 云计算
CentOS与Ubuntu:Linux系统的双璧
选择Ubuntu还是CentOS,取决于用户的具体需求,如是否需要图形化界面、对稳定性的要求、软件包管理的偏好以及对商业支持的需求等。两者都是优秀的Linux发行版,只是在设计理念和目标用户群体上有所不同。#深度好文计划#
|
11月前
|
Unix Linux 程序员
在Centos系统上如何有效删除文件和目录的指令汇总
记住,有了这个指南,你就不再为删除文件和目录感到困扰。快去尝试一下,让你的CentOS更上一层楼吧!
726 24
|
10月前
|
安全 Linux 网络安全
在CentOS 7系统上创建SSL/TLS证书以启用HTTPS
请记住,这只是单枚勋章,在野外,CA签发的证书才是堂堂正正的金盾牌。如果您打算让这个小兵走得更远,考虑一下像Let's Encrypt这样的免费CA服务,它会给您的小兵颁发一个大家都认可的荣誉勋章。而且,千万不要忘了定期更新您的装备哦,毕竟,没有哪件盔甲是永远坚不可摧的。
502 4