《linux性能及调优指南》 3.3 内存瓶颈

    • 摘要:3.3内存瓶颈OnaLinuxsystem,manyprogramsrunatthesametime.Theseprogramssupportmultipleusers,andsomeprocessesaremoreusedthanothers.Someoftheseprogramsuseaportionofmemorywhiletherestare“sleeping.”Whenanapplicationaccessescache,theperformanceincrease
    • 3.3 内存瓶颈
      On a Linux system, many programs run at the same time.

      These programs support multiple users, and some processes are more used than others.

      Some of these programs use a portion of memory while the rest are “sleeping.”

      When an application accesses cache, the performance increases because an in-memory access retrieves data,

      thereby eliminating the need to access slower disks.

      在linux系统中,在同一时间有支持多个用户的多个程序在运行,它们对内存使用有多有少;

      应该程序访问内存数据的效率要比磁盘高;

      The OS uses an algorithm to control which programs will use physical memory and which are paged out.

      This is transparent to user programs. Page space is a file created by the OS on a disk partition

      to store user programs that are not currently in use. Typically, page sizes are 4 KB or 8 KB.

      In Linux, the page size is defined by using the variable EXEC_PAGESIZE in the include/asm-<architecture>/param.h

      kernel header file. The process used to page a process out to disk is called pageout.

      操作系统使用一定的策略来决定哪些程序将使用物理内存,哪些程序将被从内存页面中替出;

      这些操作对用户程序来说是透明的;

      页面空间是由操作系统在磁盘划分上创建的文件,用来存储当前未在使用的用户程序;

      通常,页面大小为 4KB 或 8KB;

      在Linux系统中,页面大小由内核的头文件:

      include/asm-<architecture>/param.h

      中的宏 EXEC_PAGESIZE 来定义;

      进程使用的页面被替换到磁盘称为换页 或 页面溢出;

      3.3.1 Finding memory bottlenecks

      寻找内存瓶颈

      文章的这部分使用了KDE的一个工具KDE System Guard来做内存检测;

      KDE,K桌面环境(Kool Desktop Environment)的缩写。

      一种著名的运行于 Linux、Unix 以及FreeBSD 等操作系统上面自由图形工作环境,

      整个系统采用的都是 TrollTech 公司所开发的Qt程序库(现在属于Digia公司)。

      KDE 和 Gnome 都是 Linux 操作系统上最流行的桌面环境系统。

      Start your analysis by listing the applications that are running on the server.

      Determine how much physical memory and swap each application needs to run.

      Figure 3-1 on page 83 shows KDE System Guard monitoring memory usage.

      ?

      图 3.1 KDE System Guard内存监测

      ?The indicators in Table 3-1 can also help you define a problem with memory.

      表3-1

      Paging and swapping indicators

      换页和交换的意义

      In Linux, as with all UNIX-based operating systems, there are differences between paging and swapping.

      Paging moves inpidual pages to swap space on the disk;

      swapping is a bigger operation that moves the entire address space of a process to swap space in one operation.

      在Linux系统中,分布和交换是不同的;

      换页是将独立的页面移到磁盘的交换空间;

      交换是更大的操作,它将整个进程的地址空间一次性移到磁盘的交换空间;

      Swapping can have one of two causes:

      导致交换的原因有两个

      . A process enters sleep mode.

      进程进入 sleep 模式

      This usually happens because the process depends on interactive action and editors, shells,

      and data entry applications spend most of their time waiting for user input. During this time,

      they are inactive.

      这种情况通常是因为进程需要和编辑器,shell等交互,以及应用程序需要等待用户的数据输入;

      在这是,它是非活动的;

      . A process behaves poorly.

      进程的异常行为

      Paging can be a serious performance problem when the amount of free memory pages falls

      below the minimum amount specified, because the paging mechanism is not able to handle

      the requests for physical memory pages and the swap mechanism is called to free more pages.

      This significantly increases I/O to disk and will quickly degrade a server’s performance.

      当空闲内存页面过小时,换页会导致严重的性能问题,

      因为换页机制不能处理物理内存页面的请求,而交换机制将会调用更多的空闲内存页面。

      这会急剧增加磁盘的I/O, 并快速地拉低服务器的性能

      If your server is always paging to disk (a high page-out rate), consider adding more memory.

      However, for systems with a low page-out rate, it might not affect performance.

      如果服务器总是在换页(一个很高的换页率),就需要考虑增加内存;

      当然,系统换页率低时,它不会影响性能;

      3.3.2 Performance tuning options

      性能调整选项

      It you believe there is a memory bottleneck,

      consider performing one or more of these actions:

      如果你确认是内存的瓶颈,可以考虑用下面的办法来解决

      . Tune the swap space using bigpages, hugetlb, shared memory.

      调整交换空间,使用大页面,大块内存,共享内存

      . Increase or decrease the size of pages.

      增加或降低页面的大小;

      ?

      . Improve the handling of active and inactive memory.

      改进对活动和非活动内存的处理;

      . Adjust the page-out rate.

      调整换页率;

      ?

      . Limit the resources used for each user on the server.

      限制服务器上每个用户的可用资源;

      . Stop the services that are not needed, as discussed in “Daemons” on page 97.

      停掉不需要的服务

      . Add memory.

      增加内存;

原文地址:https://www.cnblogs.com/tcicy/p/10079640.html

时间: 12-06

《linux性能及调优指南》 3.3 内存瓶颈的相关文章

Linux性能及调优指南(翻译)之Linux内存架构

本文为IBM RedBook的Linux Performanceand Tuning Guidelines的1.2节的翻译原文地址:http://www.redbooks.ibm.com/redpapers/pdfs/redp4285.pdf原文作者:Eduardo Ciliendo, Takechika Kunimasa, Byron Braswell 译文如下: 1.2 Linux内存架构 为了执行一个进程,Linux内核为请求的进程分配一部分内存区域.该进程使用该内存区域作为其工作区并执行

Linux性能及调优指南(翻译)之Linux进程管理

译文如下:1.1 Linux进程管理 进程管理是操作系统的最重要的功能之一.有效率的进程管理能保证一个程序平稳而高效地运行. Linux的进程管理与UNIX的进程管理相似.它包括进程调度.中断处理.信号.进程优先级.上下文切换.进程状态.进度内存等. 在本节中,我们将描述Linux进程管理的基本原理的实现.它将更好地帮助你理解Linux内核如何处理进程及其对系统性能的影响. 1.1.1 什么是进程?一个进程是一个运行在处理器的程序的一个实例.该进程使用Linux内核能够处理的任何资源来完成它的任

【转】Tomcat调优指南

转载地址:http://blog.csdn.net/woohooli/article/details/3954792 1          概述 本文档主要介绍了Tomcat的性能调优的原理和方法.可作为公司技术人员为客户Tomcat系统调优的技术指南,也可以提供给客户的技术人员作为他们性能调优的指导手册. 2          调优分类 由于Tomcat的运行依赖于JVM,从虚拟机的角度我们把Tomcat的调整分为外部环境调优和自身调优两类来描述. 2.1      外部环境调优 调整Tomc

MySQL 优化之 Linux系统层面调优

http://www.cnblogs.com/digdeep/p/4885948.html MySQL 一般运行于Linux系统中.对于MySQL的调优一般分为Linux操作系统层面的调优和MySQL层面的调优(当然还有架构层面.业务层面.应用程序层面的调优).操作系统主要是管理和分配硬件资源,所以其实系统层面的调优包括了硬件的调优,也就是调整硬件参数.Linux系统层面的调优一般分为 CPU的调优.内存的调优.磁盘的调优.网络的调优.Linux后台service调优等等. 1. CPU 调优

Linux操作系统性能调优的方法

Linux操作系统性能调优的方法 2013-03-18 15:35 HonestQiao ChinaUnix 字号:T | T Linux是一套免费使用和自由传播的类Unix操作系统,Linux不同的发行版本和不同的内核对各项参数及设置均做了改动,从而使得系统能够获得更好的性能.本文分享了几种技巧对Linux操作系统进行性能的优化. AD:2014WOT全球软件技术峰会北京站 课程视频发布 按照传统,Linux不同的发行版本和不同的内核对各项参数及设置均做了改动,从而使得系统能够获得更好的性能.

mysql性能基本调优

innodb_buffer_pool_size 80%(系统缓存池) innodb_log_file_size    4G (mysql5.5中限定的最大数值,redo日志增大提高性能,redo日志小崩溃后恢复更快) \\开始将这个值设置为512M可以拥有1G的的redo日志,会使得拥有充裕的写操作空间 max_connections 151(默认值,需要修改) innodb_file_per_table OFF(默认将所有表的数据和索引存放在共享表空间,值为ON时会为每张表建立一个.ibd文件

centos linux安全和调优 第四十一节课

centos  linux安全和调优    第四十一节课 上半节课 下半节课 f

linux系统基础调优

linux系统基础调优 1.   关闭selinux,清空iptables sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config grep SELINUX=disabled /etc/selinux/config setenforce 0 iptables -F iptables -X iptables -Z iptables -L /etc/init.d/iptables save 2.    添加普通用户并进行s

剑指架构师系列-Linux下的调优

1.I/O调优 CentOS下的iostat命令输出如下: $iostat -d -k 1 2 # 查看TPS和吞吐量 参数 -d 表示,显示设备(磁盘)使用状态:-k某些使用block为单位的列强制使用Kilobytes为单位:1 10表示,数据显示每隔1秒刷新一次,共显示2次. tps:该设备每秒的传输次数,也就是一次I/O请求.多个逻辑请求可能会被合并为"一次I/O请求"."一次传输"请求的大小是未知的. kB_read/s:每秒从设备读取的数据量:kB_wr

linux 各层调优必备工具

Brendan D. Gregg 维护了一份Linux性能调优工具的蓝图Linux Performance Tools,针对Linux系统的各个组件都有相应的分析工具,一目了然. Linux Performance Observability:sar, benchmarking, tuning:  Images license: creative commons Attribution-ShareAlike 4.0. This page links to various Linux perfor