linux系统
文章平均质量分 89
vector6_
linux c++/java
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux 系统监测 —— sysstat
Linux 系统监测 —— sysstatsysstat 是Linux系统服务器中常用的软件工具包,可以用来监控服务器的性能。主要包含的工具:iostat 工具提供CPU使用率及硬盘吞吐效率的数据; #比较核心的工具mpstat 工具提供单个处理器或多个处理器相关数据;pidstat: 关于运行中的进程/任务、CPU、内存等的统计信息sar 工具负责收集、报告并存储系统活跃的信息; #统计数据的核心工具sa1 工具负责收集并存储每天系统动态信息到一个二进制的文件中。它是通过计划任务工具cro原创 2022-04-30 14:11:03 · 1181 阅读 · 0 评论 -
性能监控与优化
性能优化——CPU性能指标:吞吐、延时(应用负载视角)CPU、内存(资源视角)性能分析,其实就是找出应用或系统的瓶颈,并设法去避免或者缓解它们,从而更高效地利用系统资源处理更多的请求。这包含了一系列的步骤,比如下面这六个步骤:选择指标评估应用程序和系统的性能;为应用程序和系统设置性能目标;进行性能基准测试;性能分析定位瓶颈;优化系统和应用程序;性能监控和告警。性能工具图谱:平均负载平均负载是指单位时间内,系统处于可运行状态(R 状态)和不可中断状态(D 状态)的平均进程数原创 2022-04-30 11:15:56 · 522 阅读 · 0 评论 -
调整拥塞控制的性能
调整拥塞控制的性能我们都知道经典的拥塞控制算法会经过慢启动、拥塞避免、快速重传、快速恢复等流程,那拥塞控制的性能受哪些因素的影响呢?慢启动阶段理论上,对于TCP流量控制,只要接收方的读缓冲区足够大,就可以通过报文中的接收窗口,要求对方更快地发送数据。网络的传输速度是有限的,它会直接丢弃超过其处理能力的报文。如果网络中的每个连接都按照接收窗口尽可能地发送更多的报文时,就会形成恶性循环,最终超高的网络丢包率会使得每个连接都无法发送数据。所以需要另一种对网络传输速率进行控制的机制,即拥塞控制。首先TCP连原创 2022-04-30 10:48:54 · 311 阅读 · 0 评论 -
内存池——TCMalloc&JEMalloc
内存池——TCMalloc&JEMalloc在应用层业务代码与内核之间,一般有两层内存池:应用层内存池和C库内存池。当代码申请内存时,首先会到达应用层内存池,如果应用层内存池有足够的可用内存,就会直接返回给业务代码,否则,它会向更底层的 C 库内存池申请内存。比如,如果我们在Apache、Nginx 等服务之上做模块开发,这些服务中就有独立的内存池。C库内存池主要有Google 的 TCMalloc 和 FaceBook 的 JEMalloc,当C库内存池无法满足内存申请时,才会向操作系统申原创 2022-04-30 10:45:10 · 1236 阅读 · 0 评论 -
调整TCP缓冲区
调整TCP缓冲区TCP 连接是由内核维护的,内核为每个连接建立的内存缓冲区,为网络传输服务,也要充当进程与网络间的缓冲桥梁。如果连接的内存配置过小,就无法充分使用网络带宽,TCP 传输速度就会很慢;如果连接的内存配置过大,那么服务器内存会很快用尽,新连接就无法建立成功。本文就对Linux TCP缓冲区的机制及调整方法进行分析。滑动窗口是如何影响传输速度的?我们知道TCP提供了可靠的传输,主要的机制就是在报文发出后,必须收到接收方返回的 ACK 确认报文,如果在RTO内还没收到,就会重新发送这个报文。由原创 2022-04-30 10:42:01 · 5691 阅读 · 0 评论 -
Linux性能优化——DNS解析
Linux性能优化——DNS解析在TCP/IP不同协议层我们所关注的网络性能指标不同,在应用层,我们关注的是应用程序的并发连接数、每秒请求数、处理延迟、错误数等,可以使用 wrk、JMeter 等工具,模拟用户的负载,得到想要的测试结果。而在传输层,我们关注的是 TCP、UDP 等传输层协议的工作状况,比如 TCP 连接数、TCP 重传、TCP 错误数等。此时可以使用 iperf、netperf 等,来测试 TCP 或 UDP 的性能。再向下到网络层,我们关注的则是网络包的处理能力,即 PPS。Linux原创 2022-04-30 10:31:04 · 924 阅读 · 0 评论 -
页映射与可执行文件的装载
页映射与可执行文件的装载我们知道可执行文件只有装载到内存之后才能被CPU处理执行,早期的程序装载十分简陋,装载的基本过程就是把程序从外部存储器中读取到内存中的某个位置。随着现代虚拟地址空间及MMU的发展,在多进程、多用户、虚拟存储的操作系统下,可执行文件的装载变得更复杂了。进程的虚拟地址空间每个程序被运行起来后,它将拥有自己独立的虚拟地址空间。这个虚拟地址空间的大小由计算机硬件平台决定,CPU的寻址范围决定了地址空间的理论上限。32位硬件平台决定了虚拟空间的地址为0到2^32-1,即4G虚拟空间大小。原创 2021-10-08 00:28:40 · 354 阅读 · 0 评论 -
OS--虚拟内存
虚拟内存计算机物理内存的大小是固定的,就是计算机主板内存槽上的实际物理内存,cpu可以直接进行寻址,物理内存的容量是固定的,但是寻址的空间取决于cpu地址线的数量。在32位系统上,线性地址空间可达4G(2^32);这4G一般是按照3:1的比例进行分配,用户进程享有3G的空间,而内核独自享有剩下的1G内存最早的时候,计算机还没有虚拟机制,程序指令所访问的内存地址就是物理内存地址,所以就要将所有程序都加载到内存中,但是我们实际的物理内存只有4G。所以就会出现一些问题:当多个程序需要运行时,必须保证这些程原创 2021-10-08 00:27:44 · 195 阅读 · 0 评论
分享