Linux性能优化
文章平均质量分 75
qccz123456
这个作者很懒,什么都没留下…
展开
-
Linux性能优化从入门到实战:01 Linux性能优化学习路线
我通过阅读各种相关书籍,从操作系统原理、到 Linux内核,再到硬件驱动程序等等。 把观察到的性能问题跟系统原理关联起来,特别是把系统从应用程序、库函数、系统调用、再到内核和硬件等不同的层级贯穿起来。 性能优化是个系统工程,总是牵一发而动全身,它涉及了从程序设计、编程语言,再到系统、存储、网络等各种底层基础设施的方方面面。每一个组件都有可能出问题,而且很有可能多个组件同时出问题。 ...原创 2018-11-30 19:43:03 · 830 阅读 · 0 评论 -
Linux性能优化从入门到实战:02 CPU篇:平均负载
每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或 uptime 命令:eagle@eagle:~$ uptime22:22:17 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.8822:22:17 // 当前时间up 2 days, 20:14 // 系统运行时间1 user // 正在登录用户数load a...原创 2018-12-15 22:41:23 · 385 阅读 · 0 评论 -
Linux性能优化从入门到实战:03 CPU篇:CPU上下文切换
linux操作系统是将CPU轮流分配给任务,分时执行的。而每次执行任务时,CPU需要知道CPU寄存器(CPU内置的内存)和程序计数器PC(CPU正在执行指令和下一条指令的位置)值,这些值是CPU执行任务所依赖的环境,也就是CPU上下文。 CPU上下文切换,就是把前一个任务的CPU上下文(CPU寄存器和程序计数器)保存起来,然后加载入新任务的上下文到CPU寄存器和程序计数器中,最后跳转到程序...原创 2018-12-16 13:01:07 · 415 阅读 · 0 评论 -
Linux性能优化从入门到实战:04 CPU篇:CPU使用率
CPU使用率是单位时间内CPU使用情况的统计,以百分比方式展示,top、ps、pidstat命令。$ toptop - 11:46:45 up 7 days, 11:52, 1 user, load average: 0.00, 0.01, 0.00Tasks: 198 total, 1 running, 197 sleeping, 0 stopped, 0 zombie...原创 2018-12-23 12:17:49 · 424 阅读 · 0 评论 -
Linux性能优化从入门到实战:08 内存篇:内存基础
内存主要用来存储系统和应用程序的指令、数据、缓存等。内存映射 物理内存也称为主存,动态随机访问内存(DRAM)。只有内核才可以直接访问物理内存。 Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存。虚拟地址空间的内部又被分为内核空间和用户空间两部分。 进程在用户态时,只能访问用户空间内存...原创 2019-01-03 21:25:40 · 479 阅读 · 0 评论 -
Linux性能优化从入门到实战:05 CPU篇:硬中断、软中断
软中断(softirq)会导致CPU 使用率升高 中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来响应设备的请求。中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力。由于中断处理程序会打断其他进程的运行,所以,为了减少对正常进程运行调度的影响,中断处理程序就需要尽可能快地运行。并且当CPU执行在中断处理函数中时,不会响应同时发...原创 2018-12-24 23:04:08 · 1973 阅读 · 0 评论 -
Linux性能优化从入门到实战:06 CPU篇:快速定位CPU瓶颈
CPU性能指标 (1)CPU使用率:1) 用户态CPU使用率(包括用户态 user 和低优先级用户态 nice)、2) 系统CPU使用率、3) 等待 I/O 的CPU使用率、4) 软中断和硬中断的CPU使用率、5) 虚拟机占用的CPU使用率。 (2)平均负载 Load Average:过去 1 分钟、过去 5 分钟和过去 15 分钟的平均负载 (3)进程上下文切换:1) 无法获取...原创 2018-12-31 12:05:23 · 531 阅读 · 0 评论 -
Linux性能优化从入门到实战:07 CPU篇:CPU性能优化
性能优化方法论 动手优化性能之前,需要明确以下三个问题: (1)如何评估性能优化的效果? 确定性能的量化指标、测试优化前的性能指标、测试优化后的性能指标。 量化指标的选择。至少要从应用程序和系统资源这两个维度,分别选择不同的指标:1)应用程序的维度,我们可以用吞吐量和请求延迟来评估应用程序的性能。2)系统资源的维度,我们可以用 CPU 使用率来评估系统的 CPU 使用情况。 行性能...原创 2018-12-31 13:01:11 · 919 阅读 · 0 评论 -
Linux性能优化从入门到实战:09 内存篇:Buffer和Cache
Buffer 是缓冲区,而 Cache 是缓存,两者都是数据在内存中的临时存储。 避免跟文中的“缓存”一词混淆,而文中的“缓存”,则通指内存中的临时存储。free$ man free buffers Memory used by kernel buffers (Buffers in /proc/meminfo) cache M...原创 2019-07-10 19:26:28 · 491 阅读 · 1 评论