提高linux性能(效果从大到小)
1;提高内存
2;复查系统和各个应用的配置(许多应用都能以多种方式进行调优,获得很大的性能提升)
3;改正使用上的问题,包括由用户引起的问题(同时运行过多的作业,选择不恰当的时间运行大型作业,等),也包括由系统引起的问题(非必要的守护进程,磁盘限额,等)
4;linux用作web服务器或者其他类型的网络应用服务器的情况,对其负载平衡
5;组织磁盘和文件系统以平衡负载,从而得到最大的I/O吞吐量
6;根据磁盘间数据分布的要求,选择最合适的raid
7;监视网络,确保流量不会饱和并且出错率低(用netstat命令)
其中,添加内存条和在多台服务器间平衡流量可以在性能上得到巨大的提升。
影响性能的因素:
1;CPU时间
2;内存
3;硬盘I/O
4;网络I/O
linux系统中最常见的性能瓶颈是磁盘的实际带宽
I/O 性能取决于带宽
检查系统性能:
1;CPU使用情况分析
采集3种CPU数据:
总体利用率:有助于确定系统中CPU的运行速度是否是系统的性能瓶颈
平均负载:平均负载可让您对系统的总体性能有一个印象
每个进程的CPU消耗量:每个进程的CPU消耗量数据能够让您搞清占用系统资源过多的进程
总体利用率:vmstat命令获得汇总信息。vmstat有两个参数:每行输出需监视系统的秒数,以及提供的报告数。如果您没有指定报告的行数,那么vmstat就会一直运行,直到您按下<Control-C>为止。vmstat返回的第一行数据提供了自系统引导起来以后的平均值。随后的各行是在上一个采样期内的平均值,默认的采样时间为5秒。例如:
平均负载:uptime
一般来说,Linux系统在平均负载达到3的时候就处于繁忙状态,而且不能很好地处理平均负载超过8的情况
每个进程的CPU消耗量用:ps -aux,这个提供系统过去时间的一次性快照。
top所提供的信息和ps的大致相同,但是是以“动态”的格式输出的.这让您可以监视系统随时间变化的状态,频繁刷新top的输出本身就要消耗大量的CPU资螈,因此谨慎慎使用该程序。
2;内存使用情况分析
内存活动基本上可以用3个数字来量化:活动虚拟内存的总量、交换(swapping)率和调页(paging)率。
和UNIX系统一样,Linux也是按照称为“页”(page)的单元来管理内存的。
Linux内核在进程需要内存的时候,分配给它们虚拟页,每个虚拟页都被映射到实际的存储器上,即RAM或者磁盘上的“备份存储”空间(备份存储通常是在交换区内的空间,但对于包含可执行程序代码的页来说,备份存储是原来的可执行文件)。Linux使用一个“页表(page table)”来跟踪这些虚拟页同实际存储页之间的映射关系。
Linux用交换空间(swap space)来增加实际RAM的大小,有效她向进程提供它们所需要的内存。
进程都以为它们的虚拟页映射到了实际的内存上,所以Linux总是忙于在RAM和交换区之间来回换页。这种活动称为调页(paging)。
活动虚拟内存的总量:表明内存的总需求量
交换(swapping)率和调页(paging)率:表明那些内存中有多少比例正处于使用之中。
目标是要减少内存活动或增加内存量,直到调页率保持在一个可接受的水平上为止。偶尔的调页是不可避免的,因此不要为了要完全消除调页而操心。
查看使用的内存和交换空间的数量:free -t,带-t标志执行这条命令会自动计算出虚拟内存的总量
空闲值低于系统总内存量的3%一般表明有问题。您可以使用swapon命令来准确地判断出哪些文件和分区正在作为交换空间。
查看内存消耗前几位进程
ps auxw|head -1;ps auxw|sort -rn -k4|head -5
如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容.我们来一起看看.
$ free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
---------------------------
真实内存占用 = used-buffers-cached = 286
-----------------
第一部分Mem行:
total 内存总数: 1002M
used 已经使用的内存数: 769M
free 空闲的内存数: 232M
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 62M
cached Page 缓存内存数:421M
关系:total(1002M) = used(769M) + free(232M)
第二部分(-/+ buffers/cache):
(-buffers/cache) used内存数:286M (指的第一部分Mem行中的used - buffers - cached)
(+buffers/cache) free内存数: 715M (指的第一部分Mem行中的free + buffers + cached)
可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
第三部分是指交换分区, 我想不讲大家都明白.
我想大家看了上面,还是很晕.第一部分(Mem)与第二部分(-/+ buffers/cache)的结果中有关used和free为什么这么奇怪.
其实我们可以从二个方面来解释.
对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有232.
对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。
所以,以应用来看看,以(-/+ buffers/cache)的free和used为主.所以我们看这个就好了.另外告诉大家一些常识.Linux为了提高磁盘和内存存取效率, Linux做了很多精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路 径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
记住内存是拿来用的,不是拿来看的.不象windows, 无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常 swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.
3;磁盘I/O分析
监视磁盘的性能:iostat
性能监视工具:sar
sar看起来似乎与proiofo、vmstat和iostat显示的信息雷同。不过,它们之间有一个重要的区别:sar既能报告当前数据,也能报告历史数据。
报告自午夜起当天的CPU利用率(10分钟为间隔):sar
当天磁盘活动的情况汇总:sar-d
网络接口的统计信息:sar –n DEV
报告所有的信息:sar –A
sar也有一些局限性,但是它对于快速粗略了解历史信息来说很适用。如果您在慎重选择长期监测性能的工具,那么我们建议您配置诸如Cacti这样的数据采集和图示化平台。Cacti用于网络管理,但它实际上能绘制任何的系统数据图,如CPU和内存信息。
oprofile:全面的剖析器
oprofile是一种功能异常强大的集成系统剖析器,它适用于运行2.6版以上内核的Linux系统。它能剖析Linux系统的所有组成部分:软硬件中断处理程序、内核模块、内核本身、共享库和应用软件。如果您有很多富余的时间,而且想准确掌握系统资源正在使用的情况(小到最细枝末节的地方),那么就可以考虑运行oprofile。如果您正在开发自己的内部应用软件或者内核代码,这个工具尤其有用。在oprofile软件发布中有一个内核模块和一组用户级的工具,从oprofile.sourceforge.net可以下载到这个软件。在Red Hat系统上,您还需要安装kernel-debuginfo这个软件包获得运行oprofile所需的文件。
相关推荐
1. **速度**:PugiXML的设计注重性能,解析速度快,内存占用低。 2. **简单API**:它的API简洁明了,易于理解和使用,减少了学习成本。 3. **非递归DOM**:PugiXML使用非递归的DOM模型,避免了因递归深度限制导致的...
本书《Linux高性能服务器编程》会详细讲解这些知识点,并通过实例解析和实践指导,帮助读者从理论到实践,提升在Linux环境下的服务器编程能力。通过学习,读者将能够设计和实现高效的服务器程序,满足大规模并发访问...
《Linux源代码完全解析》是一本深度探讨Linux操作系统内核的专著,旨在帮助读者深入理解这个开源操作系统的内部机制。...通过学习,你可以更有效地优化系统性能,解决运行时问题,甚至参与到Linux内核的开发中去。
《Linux结构解析》电子书是深入理解Linux操作系统内核架构和技术的重要参考资料,尤其对于嵌入式领域的开发者来说,它提供了一扇洞察Linux内部工作原理的窗口。这本书详细讲解了Linux系统的各个关键组件及其相互作用...
这份名为“LINUX性能调优方法总结”的文档,很可能包含了一系列关于如何优化Linux系统性能的技术和策略。以下是根据标题和描述可能涵盖的一些主要知识点: 1. **系统监控工具**:了解并使用如`top`, `htop`, `...
《Linux性能调优指南》是IBM专家团队倾力打造的一份深入浅出的教程,旨在帮助用户提升Linux服务器的运行效率和稳定性。这份高清PDF文档详细涵盖了Linux性能优化的各个方面,为管理员提供了一套全面而实用的方法论。...
《嵌入式Linux内存与性能详解》一书由史子旺撰写,专注于深入解析Linux内存管理机制以及如何在嵌入式环境中优化系统性能。Linux内存管理是操作系统的核心部分,理解和掌握这一领域对于开发者来说至关重要,尤其是在...
Linux内核解析笔记 在深入探讨Linux内核之前,我们首先要理解什么是内核。操作系统内核是系统的核心部分,负责管理系统的硬件资源,提供基础服务,以及调度进程,确保计算机系统的稳定运行。Linux内核是开源的,由...
在Linux环境下构建一个歌词解析系统是一项技术性强且有趣的工作,涉及到多方面的知识,包括文本处理、编程语言(如C或Python)、正则表达式、文件操作等。下面将详细阐述这个系统的实现及其涉及的关键知识点。 首先...
在Linux环境下,C++是一种强大的编程语言,常用于系统级编程和高性能计算。BMP(Bitmap)文件格式是常见的图像文件格式,广泛应用于各种操作系统。本教程将介绍如何在CentOS 7.4上使用C++解析BMP文件。 首先,我们...
Linux性能分析工具Nmon是系统管理员和IT专业人员在Linux环境中进行性能监控和故障排查的重要工具。Nmon,全称为"Nick's Monitor for Unix",由Nick Maclaren开发,它能够提供实时的CPU、内存、磁盘I/O、网络等关键...
LINUX性能调优完全手册 本文将详细介绍Linux性能调优的各种方法和技术,从系统文件到网络性能优化,涵盖了性能优化的多个方面。通过本文,读者可以了解到Linux性能优化的基本概念和方法,并掌握实用的优化技巧。 1...
在IT领域,尤其是在服务器管理和运维中,Linux性能测试和调优是至关重要的环节。本文将深入探讨基于"Linux性能测试工具"这一主题的相关知识点,包括常见的性能监控工具、调优策略以及系统参数详解。 首先,了解...
总结来说,nmon是Linux性能监控的得力助手,其报表分析功能提供了宝贵的性能数据,有助于我们理解系统的运行状况,优化资源分配,提升整体系统性能。通过对压缩包内的多个nmon数据文件进行深入研究,可以进一步挖掘...
### Linux服务器性能调整关键知识点解析 #### 一、引言 《Linux服务器性能调整》一书由Sandra K. Johnson、Gerrit Huizenga 和 Badari Pulavarty 联合编写,针对Linux服务器的性能优化进行了深入探讨。本书共分为...
《LINUX内核探秘:深入解析文件系统和设备驱动》一书,是关于Linux操作系统内核中核心组件——文件系统和设备驱动的深度解析。Linux文件系统是操作系统与硬件之间的重要桥梁,它负责管理存储设备上的数据,而设备...
### Linux 2.6 内核机制之 Initrd 技术深度解析 #### 一、引言 在深入探讨Linux 2.6内核中Initrd(Initial RAM Disk)技术的具体实现之前,有必要先理解Initrd的基本概念及其重要性。Initrd在Linux系统启动过程中...