ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux 优化 | 我终于要对运维小哥下手

2021-04-05 17:54:40  阅读:150  来源: 互联网

标签:运维 小哥 CPU 内存 Linux 进程 使用率 cpu


我终于要对运维小哥下手了

当我再次收到运维小哥的警告的时候,我醒悟了。

图片

你以为我又要去写 Bug ?

是的,这就是被运维恐吓的日常,在这个男人面前我就是个弟弟。

图片

Bug 写的多了,总免不了要收到两条这样那样的小告警,所以我决定还是自己学一些 Linux 优化的小知识,做到先发致人。

图片

如何做到硬刚运维小哥

之前学习 Linux 命令的时候有学到 man 的使用,还有它的进阶版本 info 他可以更详细的查询命令手册

所以我们掌握了它们之后就可以完成从无处下手到有迹可循的蜕变。

先从下面这张图开始搞起。

图片

是不是有点懵逼,没关系我也是。

图片

我们简单分析一下,我们代码在系统上跑,最大的就是 CPU,内存,网络和磁盘I/O这四大部分。

我们只要掌握几个常用的简单的命令知道这四个部分是不是有问题就好了。

图片

CPU

CPU 最关键的就两个部分,系统的 CPU 使用率还有就是进程的使用率。

CPU 使用率

先看看 CPU 使用率我们常用的是 top , 效果是下面这样的,简单明了。

图片

us:表示用户空间程序的cpu使用率sy:表示系统空间的cpu使用率,主要是内核程序。ni:表示用户空间且通过nice调度过的程序的cpu使用率。id:空闲cpuwa:cpu运行时在等待io的时间hi:cpu处理硬中断的数量si:cpu处理软中断的数量st:被虚拟机偷走的cpu

这里再推荐另一个小工具,dstat

可以使用yum install dstat 安装

图片

dtat 可以同时查看到 cpu,磁盘,网络的使用率,方便。

进程 CPU 使用率

查看进程就比较简单了,直接使用 ps 就可以了。

图片

内存

很多朋友以为 Python 作为动态语言又有垃圾回收机制应该不会出现内存泄露的问题。

但是像下面这两种情况就容易导致内存泄露

1.对象一直被全局变量所引用, 全局变量生命周期长.2.垃圾回收机被禁用或者设置成debug状态, 垃圾回收的内存不会被释放.

所以掌握内存使用率的查看也是很有必要的。

最简单的使用 free 就可以查看系统内存的使用,剩余等参数

图片

free 展示的是比较简单的内存信息,查看详细一点的信息可以使用 vmstat

图片

而进程的内存分析使用还是上面提到过的 ps 和 top 两个命令,可以同时查看进程的 CPU 使用率和内存的使用率

当你收到内存不足的告警时,首先可以从监控系统中。找出占用内存最多的几个进程。然后,再根据这些进程的内存占用历史,观察是否存在内存泄漏问题。确定出最可疑的进程后, 分析该进程的内存空间或者内存分配,最后弄清楚进程为 什么会占用大量内存

网络

网络比较常用的工具是 iftop

同样也是先安装,在 centos 中需要先安装yum install epel-release

之后再安装yum install iftop就可以很顺利的安装上了。

使用 iftop 可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。

图片

中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量RX:接收流量TOTAL:总流量Cumm:运行iftop到目前时间的总流量peak:流量峰值rates:分别表示过去 2s 10s 40s 的平均流量

磁盘IO

磁盘 IO 读写信息的查看我比较常用的是 iostat

还是先安装,因为 iostat 是 sysstat 工具集的子集,所以我们需要先安装 sysstat 。

 yum install sysstat

接着可以用iostat -dx 查看磁盘的扩展信息

图片

r/s 和 w/s 分别是每秒的读操作和写操作,而rKB/s 和wKB/s 列以每秒千字节为单位显示了读和写的数据量

总结

上面就是我简单优化 linux 系统的第一步,简单通过工具就可以完成。

当然上面需要在运行环境上安装包的操作,最好和运维小哥了解学习下,不要自己瞎装,删库跑路的操作不是只存在与段子里。

图片你以为到这就完了?

不,因为今天咸鱼恰饭了,所以准备送点小礼物给大家。

之前在交流群里抽了一份极客时间的 Linux 地图,自己忍不住也剁手了一份。

到手发现这个册子的内容也太全了,所以今天我准备抽两份送给大家,好东西要一起分享。

图片

后台回复「抽奖」获取抽奖码,无套路。

图片


标签:运维,小哥,CPU,内存,Linux,进程,使用率,cpu
来源: https://blog.51cto.com/15127522/2686172

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有