性能优化的大致策略

news2024/12/24 0:04:09

平时多多少少在工作中会遇到性能问题相关的工作,记录一下大致的思路以及方法。

1. 指导思想

抓大放小,可以采用两种方向:

一种是自底向上,先从操作系统发现某一现象,例如内存过高,负载过高,io过大等等,然后再逐渐到应用层找到引起该问题的代码。

另一种是首先在应用层的代码测通过code review发现大致问题,通过debug或者AB测试的方式,逐步在操作系统层面,通过一系列工具如top、free等等核对效果。

2. 常用排查策略

2.1 top

第一行

 第二行

第三行

 第四行

第六行

 VIRT、RES、SHR详解

36. VIRT  --  Virtual Memory Size (KiB)
           The total amount of virtual memory used by the task.  It includes all code, data and shared libraries plus pages that have been swapped out and pages that have been mapped but not used.
17. RES  --  Resident Memory Size (KiB)   常驻内存
           The non-swapped physical memory a task is using.
21. SHR  --  Shared Memory Size (KiB)
           The amount of shared memory available to a task, not all of which is typically resident.  It simply reflects memory that could be potentially shared with other processes.

S:这个是进程的状态。它有以下不同的值:
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态

%CPU:自从上一次更新时到现在任务所使用的CPU时间百分比。

%MEM:进程使用的可用物理内存百分比。

TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。

负载的定义

在Linux中,进程分为三种状态,一种是阻塞的进程blocked process(等待I/O设备的数据或者系统调),一种是可运行的进程runnable process,另外就是正在运行的进程running process。进程可运行状态时,它处在一个运行队列run queue中,与其他可运行进程争夺CPU时间。 系统的load是指正在运行和准备好运行的进程的总数。

在多核处理中,你的负载均值不应该高于处理器核心的总数量

2.2 SWAP

swap相关的讲解详见【转载】Linux SWAP 深度解读 - 知乎

调整SWAP大小的方式如下:
 

#查看内存使用情况
free -h

# 关闭分区
swapoff -a

# 开启分区
swapon -a


# 创建一个2*1G的空间,用于swap
dd if=/dev/zero of=/etc/swapfile bs=1G count=2


#转换为swap分区
mkswap /etc/swapfile

#激活新生成的swap分区
swapon /etc/swapfile

#如果需要重启后也继续存在,修改/etc/fstab,增加如下内容
/home/swapfile swap swap defaults  0 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/537169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python值得学习么

python值得学习么,答案当然是毋庸置疑的~ 目前几乎所有大中型互联网企业都在使用 Python 完成各种各样的工作,比如Web应用开发、自动化运维、人工智能领域、网路爬虫、科学计算、游戏开发等领域均已离不开Python。 特别是在和数据相关的领域&#xff0…

【ArcGIS Pro二次开发】(29):村庄规划生成空间功能结构调整表

根据现在村规成果要求,【空间功能结构调整表】是必需的。 以福建省为例,它长这样: 下面就来实现从现状用地和规划用地导出这样的Excel表格。 一、要实现的功能 如上图所示,点击【汇总村庄空间功能结构调整表】工具,选…

Day1--ARM1

用for循环实现1~100相加

百度翻译可以翻译页面

百度翻译可以翻译页面 例如:输入网址 https://www.baidu.com,点击翻译即可。

ChatGPT背后的核心技术报告(附下载)

输入几个简单的关键词,AI能帮你生成一篇短篇小说甚至是专业论文。最近大火的ChatGPT在邮件撰写、文本翻译、代码编写等任务上强大表现,让埃隆马斯克都声称感受到了AI的“危险”。ChatGPT的计算逻辑来自于一个名为transformer的算法,它来源于2…

穿透技术及Apache教学

首先在这里因为很多人没学过内网穿透以及虚拟ip,因此给大家出一套小白网络隧道教学(Sunny-Ngrok)如下: Sunny-Ngrok内网转发内网穿透 - 国内内网映射服务器 进入文档第一步:注册账号,并登录进入 第二步&a…

Eye of the Temple:在4平米玩出大空间VR效果的秘诀

卧室只有4平米,能在VR中模拟森林等大空间场景吗?仅依靠视觉也许可以,但显然你很难走到森林尽头。不过,通过重定向等视觉欺骗,也许你可以通过在房间内“绕圈”,来模拟在虚拟空间中无尽行走的效果。比如热门大…

企业工程管理系统源码之提高工程项目管理软件的效率

高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中,管理不畅以及不良的项目执行,往往会导致项目延期、成本上升、回款拖后,最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统,确保…

全景 I 0基础学习VR全景制作,第25章热点功能-接入无为

本期为大家带来蛙色VR平台,热点功能—接入类型为:无功能操作。 功能位置示意 热点,指在全景作品中添加各种类型图标的按钮,引导用户通过按钮产生更多的交互,增加用户的多元化体验。 热点接入类型为:无&…

【安全知识】——LInux的shell反弹姿势合集(更新中)

作者名:白昼安全 主页面链接: 主页传送门 座右铭: 不要让时代的悲哀成为你的悲哀专研方向: web安全,后渗透技术每日鸡汤: 宇宙有宇宙的规律,我也有我的坚持 当我们拿到一台LINUX主机的权限时&am…

java版企业工程项目管理系统源码+spring cloud 系统管理+java 系统设置+二次开发

工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…

线下沙龙丨瑞云“遇·建”-上海站建筑可视化技术沙龙活动圆满落幕!

艺术挑战技术,技术启发艺术,视觉行业的技术日新月异,实时渲染、云制作/云协作以及AIGC等创新技术,不仅能够帮助视觉行业同仁落实愿景,也实现了更加精简的工作流程。 2023年4月26日,深圳市瑞云科技股份有限公…

ChatGPT对健康医疗意味着什么?

ChatGPT可能是有史以来增长最快的消费者互联网应用程序。OpenAI开发的人工智能聊天机器人于11月推出,仅两个月就达到了1亿用户。它空前的流行可归因于其令人印象深刻的功能。 ChatGPT可以做什么,为什么如此受欢迎? 人工智能曾经是科幻小说中…

ControlNet: 控制扩散模型的魔法

出品人:Towhee 技术团队 作者:王翔宇 从去年以来 AIGC 的技术不断冲击人们的想象力,针对图片的扩散模型(midjourney 和 stable diffusion)已经可以在给于 prompt 下生成非常吸引人的图像,但是如果希望以别…

网络安全论坛哪里找?

下面给大家介绍一些比较常见的国内安全论坛: 1、黑客基地:http://www.hackbase.com/ 黑基网(WWW.HACKBASE.NET)成立于2003年,由IT精英和白帽黑客共同发起创立,致力于打造高端IT与网络安全的技术交流平台&…

数据结构及算法应用

第十四章、数据结构及算法应用 1、分治法 对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决;否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地…

janus videoroom 对接freeswitch conference 篇1

janus videoroom 实时性非常好, freeswitch conference的功能也很多 ,有没办法集成到一块呢 让很多sip 视频终端也能显示到videoroom 里面, 实现方式要不两种 1.改源码实现 (本文忽略 难度高) 2.找一个videoroom管…

什么是JS事件流

什么是JS事件流? 一&#xff1a;事件冒泡 <!DOCTYPE html> <html lang"en"> <head><title>事件冒泡例子</title> </head> <body><div id"box">点击我</div> </body> </html>上述的代…

需求管理(三)需求过程

一、需求规格说明 1.1需求规格说明概述 需求获取的目标是得到用户的需求——收集需求信息 需求分析的目标是更深刻的理解用户的需求——界定能够让用户满意的解决方案和准则 需求规格说明的目标是定义用户的需求——准确描述其需求和解决方案 需求规格说明文档的撰写流程如下图…

DHCP+链路聚合+NAT+ACL小型实验

实验要求: 1.按照拓扑图上标识规划网络。 2.使用0SPF协议进程100实现ISP互通。 3.私网内PC属于VLAN1O, FTP Server属于VLAN2O,网关分 别为所连接的接入交换机&#xff0c;其中PC要求通过DHCP动态获取 4:私网内部所有交换机都为三层交换机&#xff0c;请合理规划VLAN&#…