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

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

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

你以为我又要去写 Bug ?

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

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

如何做到硬刚运维小哥

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

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

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

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

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

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

CPU

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

CPU 使用率

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

us:表示用户空间程序的cpu使用率
sy:表示系统空间的cpu使用率,主要是内核程序。
ni:表示用户空间且通过nice调度过的程序的cpu使用率。
id:空闲cpu
wa: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 系统的第一步,简单通过工具就可以完成。

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

本文分享自微信公众号 - 咸鱼学Python(xianyuxuepython)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏渠道统计

App运营推广过程中,比较实用的工具

工欲善其事,必先利其器,这个道理相信很多运营推广人员都知道。对于运营推广人员来说,修炼运营内功固然是最为重要的,不过在修炼内功之余,学习和掌握一些运营类工具则能...

13950
来自专栏A周立SpringCloud

如何进行I/O评估、监控、定位和优化?

生产中经常遇到一些IO延时长导致的系统吞吐量下降、响应时间慢等问题,例如交换机故障、网线老化导致的丢包重传;存储阵列条带宽度不足、缓存不足、QoS限制、RAID...

7820
来自专栏AI科技评论

开发 | GitHub 项目推荐:用深度学习让你的照片变得美丽

照相是一项很棒的技术。它让我们能够保存自己的记忆,当看到照片中的景色时,我们可以重新体验它们。

10950
来自专栏FPGA开源工作室

Quartus II和Nios II使用时遇到的错误及解决方法总结

发现提示错误的器件是epcs,其实epcs是没有问题的。通过修改bsp的配置即可,Bsp右击-nios ii –bspeditor 取消选中所有选项即可。

17920
来自专栏前端达人

这30个CSS选择器,你必须熟记(中)

大家好,上一篇文章里,《这30个CSS选择器,你必须熟记(上)》,我们一起学习了常用的10个CSS选择器,这篇文章我们将继续学习CSS选择器,由于文章篇幅有限,...

6500
来自专栏用户3254834的专栏

一个好的新闻App,需要...

单平台的APP必定让企业舍弃用户,跨平台才是王道。对于中小企业来说,开发自己的APP就意味着需要配置IOS和android的程序员,根据开发难度需要的人员数量不...

9320
来自专栏芋道源码1024

史上更全的 MySQL 高性能优化实战总结!

  在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。

14030
来自专栏A周立SpringCloud

MySQL 性能优化之骨灰级,高阶神技 !

作者 | 惨绿少年 链接 | https://clsn.io/clsn/lx287.html

12740
来自专栏暴走大数据

MySQL 性能优化之骨灰级,高阶神技 !

MySQL调优对于很多程序员而言,都是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是My...

7620
来自专栏前端达人

这30个CSS选择器,你必须熟记(上)

css的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的影音效果等等,我们只需要改几行代码,不需要借助任何软件,...

10310

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励