linux性能优化(学习总结)

muzisanshi muzisanshi     2022-11-30     215

关键词:

linux性能问题我们都可以从top着手

top反应了服务器的负载,任务,cpu,内存及各进程的情况。

技术图片

 

 技术图片

 

系统负载(load),反应服务器1,5,15分钟各个时间段的负载情况。

当load的值超出cpu总数的60%,系统负载过高。

技术图片

 

这列表示总的进程数,可能出现的问题是zombie(僵尸)进程过多。

在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程。

我们通过pstree命令找到子进程的父进程,杀死父进程,就由Init进程来接管他,成为他的父进程,从而保证每个进程都会有一个父进程。

技术图片

 

关注的指标:

us用户进程

一般情况下都是us进程出现问题,当us使用率较高时,我们可以通过top下方的信息,观察各个进程cpu使用率,那些进程使用率较高。

也可通过pidstat命令观察各进程cpu使用情况。

mysqld进程cpu使用率非常高,使用mysql客户端登录,使用show processlist查看当前存在的会话是否有异常(性能语句为常见问题)。

如果是oracle的话,我们可以通过进程pid,再通过oracle的动态性能视图v$process关联v$session,查看会话具体的情况。

sy系统内核

可能引起的是上下文切换。

结合vmstat命令cs值分析问题。

pidstat -w查看各进程的上下文切换情况。

这类的问题碰到的比较少。

idle空闲

值愈高表示cpu约空闲

iowait

磁盘cpu使用率高,可也结合pidstat -d 命令查看各进程的io情况。

iotop命令查出当前io使用率较高的进程。

结合iostat -x 命令。

技术图片

该命令反应了磁盘的iops,吞吐量,响应时间,磁盘繁忙度。

我通常的判断标准(响应时间小于20ms),拿异常时间段的数据与历史进行比较。

hi硬中断

/proc/interrupts文件反应了中断的类型和次数。

si软中断

/proc/softirqs

 

技术图片

 

服务器内存的使用情况

结合free命令观察内存情况

技术图片

 

 通过vmstat命令实时监控是否是换入换出操作,swap换入换出比较频繁,内存可能出现瓶颈。

 

技术图片

 

top命令最下方的信息:

反应各个进程的cpu,内存情况,方便我们找出存在异常的进程。

 

如果服务器历史时间段出现性能问题。

如果本地没有部署服务器监控软件(zabbix),nmon,oswatch等

我们可以通过服务器自带的sar命令查看服务器各种资源信息(建议将sar收集时间改为1分钟,默认是10分钟)。

历史负载:sar -q

cpu:sar -u

io:sar -b sar -d

内存:sar -r sar -R

网络:sar -n 

腾讯面试:linux内存性能优化总结(代码片段)

【1】内存映射Linux内核给每个进程都提供了一个独立且连续的虚拟地址空间,以便进程可以方便地访问虚拟内存;虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长的处理器,地址空间的范围也... 查看详情

腾讯面试:linux内存性能优化总结(代码片段)

【1】内存映射Linux内核给每个进程都提供了一个独立且连续的虚拟地址空间,以便进程可以方便地访问虚拟内存;虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长的处理器,地址空间的范围也... 查看详情

android性能优化总结篇~(代码片段)

...苛刻的地步,**内存优化、UI卡顿优化、App崩溃监控等性能调优也逐渐成了人手必备的技能。**工作之余,难免让我们感慨学无止境,以及Android开发也是水深不见底。之前有小伙伴给我留言说,学习性能优化时难免... 查看详情

android性能优化之谈谈java内存区域(代码片段)

Android性能优化之谈谈Java内存区域>基础的扎实程度直接决定高度。最近一年副业主要在学习投资和技能学习,把以前学习内存分析的一些笔记总结发出来,写了很多笔记总结都没有写完就又忙着了,最近再次总结复... 查看详情

android性能优化之谈谈java内存区域(代码片段)

Android性能优化之谈谈Java内存区域>基础的扎实程度直接决定高度。最近一年副业主要在学习投资和技能学习,把以前学习内存分析的一些笔记总结发出来,写了很多笔记总结都没有写完就又忙着了,最近再次总结复... 查看详情

linux性能优化课程学习_1(代码片段)

Shell是什么目前常用的操作系统都带有图形界面,然而,早期的计算机并没有图形界面,人们只能使用命令来控制计算机。其实,真正能够控制计算机硬件的只有操作系统内核(Kernel),图形界面和命... 查看详情

前端项目性能优化记录~(代码片段)

前端性能优化总结原因:最近公司一个项目即将上线,作为它的主要构建者之一(亲爸爸)一直在思考如何能给它更好的性能优化于是博主开始了网上大量的学习,集百家之所长,试图把这些骚操作应用在自己的项目中,完事之后记... 查看详情

linux学习总结(85)——后端开发人员需要知道的linux服务器性能指标总结

...工/proc、/sys下的数据来工作的,而那些更加细致、专业的性能监测和调优,可能还需要更加专业的工具(perf、systemtap等)和技术才能完成哦。毕竟来说,系统性能监控本身就是个大学问。 一、CPU和内存类1.1、top 第一行后面... 查看详情

linux性能调优总结(代码片段)

系统性能一直是个热门话题。做运维这几年也一直在搞性能调优,写这个文章也算是对工作的总结。讲调优第一步是,要讲为什么要调优?也就是系统分析,分析还需要有指标,做好性能监控的情况下,看到确实需要调优才能进... 查看详情

android性能优化——性能优化的难题总结

前言现在都在谈性能优化或者在面试的时候被问到性能优化相关问题,那么我们为什么要做性能优化呢?以及性能优化的难点是什么?在整个项目周期中不同的阶段该做什么?优化效果如何长期保持?作为一... 查看详情

android性能优化——性能优化的难题总结

前言现在都在谈性能优化或者在面试的时候被问到性能优化相关问题,那么我们为什么要做性能优化呢?以及性能优化的难点是什么?在整个项目周期中不同的阶段该做什么?优化效果如何长期保持?作为一... 查看详情

资料汇总

...vaEE启示录    从懵逼到再入门——JavaEE完整体系架构JVM性能调优 性能优化C++面试集锦(面试被问到的问题)Java并发之AQS详解  MYSQL性能优化的最佳20+条经验MySQL数据库优化的八种方式(经典必看)https://www.jianshu.com/p/dac715a... 查看详情

android性能优化之谈谈java内存区域(代码片段)

Android性能优化之谈谈Java内存区域>基础的扎实程度直接决定高度。最近一年副业主要在学习投资和技能学习,把以前学习内存分析的一些笔记总结发出来,写了很多笔记总结都没有写完就又忙着了,最近再次总结复... 查看详情

前端知识总结--性能优化

前端性能优化方案大体分为网络传输优化和页面内容优化,网络方面1、减少http请求合并js文件合并css文件雪碧图的使用(csssprite)使用base64表示简单的图片2、减小资源体积gzip压缩js混淆css压缩图片压缩3、使用缓存DNS缓存CDN部署与... 查看详情

常见性能优化策略的总结good

...二:POI缓存设计与实现案例三:业务运营后台相关页面的性能优化addbyzhj:我个人感觉性能优化分析影响性能的因素有哪些,然后按影响力的大小进行排序,然后进行排序。然后进一步分析每个因素为何会影响性能,把这些因素再... 查看详情

善用性能工具进行sql整体优化

...到局部。今天我们首先学习关于数据库整体优化都有哪些性能工具,接着分析这些工具的特点,并结合案例进行探索,最后再进行总结和思考。总体学习思路如下图所示:都有哪些性能工具这里首先要分成两部分&... 查看详情

android性能优化难题一文总结

前言现在都在谈性能优化或者在面试的时候被问到性能优化相关问题,那么我们为什么要做性能优化呢?以及性能优化的难点是什么?在整个项目周期中不同的阶段该做什么?优化效果如何长期保持?作为一... 查看详情

7000字前端性能优化总结|干货建议收藏(代码片段)

为什么要做性能优化?性能优化到底有多重要?网站的性能优化对于用户的留存率、转化率有很大的影响,所以对于前端开发来说性能优化能力也是重要的考察点。性能优化的点非常的多,有的小伙伴觉得记起来... 查看详情