磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言。数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以write为例的 Linux 磁盘IO系统的架构: 可以看到IO操作分成了四个层面: 1)文件系统缓存:处理数据必须先从磁盘
转载 2017-04-25 12:33:00
178阅读
2评论
和小伙伴分享一些的笔记,内容很浅,可以用作入门博文内容结合读书笔记整理涉及内容包括食用方式:理解不足小伙伴帮\
IO系统 dmidecode -t processor | grep Socket (物理cpu个数) dmidecode | grep Size | grep MB (物理内存大小) dmidecode | grep Size | grep MB | wc -l (物理内存个数)            vmstat,iostat,sar      IO , 输入输出      IOPS            10k , 120-150 IOPS            15k , 150-200 IOPS      每个IO完成的数据量       # vmstat 2 procs -----------memory---------
原创 2013-07-31 14:43:00
1014阅读
  首先说明,对于linux系统而言,tcp/ip协议栈是工作在内核空间中实现而且在内核中是按照流水线方式实现的当我们去接收一个报文时,由各栈去解封装,而这是由流水线去处理的而流水线是非copy类型的,所谓非copy类似就是直接送往下一个流水线而不是从TCP内存中复制到IP栈的内存,而是直接将此段空间让给IP使用,所以交给下一个关口的时候挪动的不是数据而是协议栈,所以数据一直在
原创 精选 2014-09-29 16:48:07
10000+阅读
7点赞
2评论
直接分享干货!供大家参考,欢迎提出更好的建议,学习是无止境的,总结更是一种过程美的体现。关于RHEL6中ulimit的nproc限制root@test-mysql ~]# cat /etc/security/limits.d/90-nproc.conf*          soft    nproc    
原创 精选 2016-03-07 11:04:40
1806阅读
LVM 逻辑卷的读写策略有两种: linear:线性方式,一块块盘来读写,写完一块盘再写第二块盘、第 N 块盘,性能低 striped:条带方式,多块盘一起并行读写,性能高查看 LVM 逻辑卷的读写策略的方式:lvdisplay -m "LV Path" root@node-1:~# lvdisplay --- Logical volume --- LV Path
1. MapReduce跑得慢的原因优化方法MapReduce优化方法主要从六个方面考虑:数据输入、Map阶段、Reduce阶段、IO传输、数据倾斜问题和常用的参数。数据输入Map阶段Reduce阶段I/O传输数据倾斜数据倾斜现象减小数据倾斜的方法常用的参数资源相关以下参数是在用户自己的MR应用程序中配置就可以生效(mapred-default.xml)配置参数参数说明mapreduce.
说明:IO,对IO操作较频繁的服务效果比较明显,比如说数据库类型(mysql,oracle)。1. pdflush刷新脏数据条件cached中的脏数据满足如下几个条件中一个或者多个的时候就会被pdflush刷新到磁盘:(1)数据存在的时间超过了dirty_expire_centisecs(默认30s)时间(2)脏数据所占内存 /(MemFree + Cached - Mapped) >
原创 2017-03-18 00:38:37
5212阅读
linux系统中,如果有大量读的请求,默认情况下linux系统的请求队列有可能会应付不过来,不要激动,我们可以修改linux的动态调整请求队列数........(你懂的) 默认的的请求队列数放在/sys/block/hdc/queue/nr_requests 这个文件里面。 $cat /sys/block/hdc/queue/nr_requests 128 咱们看默认情况下请求队列是12
转载 精选 2012-04-28 11:45:27
582阅读
linux系统中,如果有大量读的请求,默认情况下linux系统的请求队列有可能会应付不过来,不要激动,我们可以修改linux的动态调整请求队列数........(你懂的) 默认的的请求队列数放在/sys/block/hdc/queue/nr_requests 这个文件里面。 $cat /sys/block/hdc/queue/nr_requests 128 咱们看默认情况下请求队列是12
原创 2012-04-11 22:42:45
1125阅读
1点赞
2评论
Linux在进行系统的时候,首先要考虑整个操作系统的结构,然后针对各个部分进行优化,下面展示一个Linux系统的各个组成部分: 有上图可以看出,我们可以调整的有应用程序,库文件,内核,驱动,还有硬件本身,所以接下来讲对这些进行详细的介绍,从而是系统的性能有所提高。 内核子系统中主要包括一下几个方面: 1. network(网络) 2. IO(输入输出
转载 精选 2012-03-23 16:21:50
936阅读
Linux在进行系统的时候,首先要考虑整个操作系统的结构,然后针对各个部分进行优化,下面展示一个Linux系统的各个组成部分:   有上图可以看出,我们可以调整的有应用程序,库文件,内核,驱动,还有硬件本身,所以接下来讲对这些进行详细的介绍,从而是系统的性能有所提高。 内核子系统中主要包括一下几个方面: 1. network(网络) 2. IO(输入输出子系统) 3. p
转载 精选 2012-05-14 17:39:00
283阅读
大多数 Linux 发布版都定义了适当的缓冲区和其他 Transmission Control Protocol(TCP)参数。可以修改这些参数来分配更多的内存,从而改进网络性能。设置内核参数的方法是通过 proc 接口,也就是通过读写 /proc 中的值。幸运的是,sysctl 可以读取 /etc/sysctl.conf 中的值并根据需要填充 /proc,这样就能够更轻松地管理这些参数。清单 2
转载 精选 2012-07-31 11:18:25
520阅读
1点赞
Linux在进行系统的时候,首先要考虑整个操作系统的结构,然后针对各个部分进行优化,下面展示一个Linux系统的各个组成部分:   有上图可以看出,我们可以调整的有应用程序,库文件,内核,驱动,还有硬件本身,所以接下来讲对这些进行详细的介绍,从而是系统的性能有所提高。 内核子系统中主要包括一下几个方面: 1. network(网络) 2. IO(输入输出子系统) 3. p
转载 精选 2012-10-22 01:14:38
544阅读
 一、前提我们可以在文章的开始就列出一个列表,列出可能影响Linux操作系统性能的一些参数,但这样做其实并没有什么价值。因为性能是一个非常困难的任务,它要求对硬件、操作系统、和应用都有着相当深入的了解。如果性能非常简单的话,那些我们要列出的参数早就写入硬件的微码或者操作系统中了,我们就没有必要再继续读这篇文章了。正如下图所示,服务器的性能受到很多因素的影响。当面对一个使用
转载 精选 2016-09-29 21:51:55
224阅读
Linux系统是每一个系统工程师都需要掌握的重要技能之一。在Linux系统中,有很多方式可以对系统进行,以提高系统性能和稳定性。其中,红帽(Red Hat)作为一款流行的Linux发行版,在系统方面有着独特的优势和方法。 首先,对于红帽Linux系统来说,的一个重要方面是对内核参数进行设置。内核参数可以通过修改系统的/sys文件系统来实现。比如,可以通过修改/sys/kernel
原创 5月前
19阅读
【硬件方面】1. cpu   2. 内存  (增加内存)3. 存储 (使用raid,使用ssd)4. 网卡 (使用千兆网卡,或者双网卡绑定)【系统方面 】1. 内核参数优化(网络相关、内存相关、缓冲缓存相关)2. 文件系统方面(分区,格式化时根据存储文件特性,指定合适的块大小,noatime,日志隔离,软raid,有效使用/dev/shm,关闭不必要的服
原创 2016-06-18 10:30:50
642阅读
大多数 Linux 发布版都定义了适当的缓冲区和其他 Transmission Control Protocol(TCP)参数。可以修改这些参数来分配更多的内存,从而改进网络性能。设置内核参数的方法是通过 proc 接口,也就是通过读写 /proc 中的值。幸运的是,sysctl 可以读取 /etc/sysctl.conf 中的值并根据需要填充 /proc,这样就能够更轻松地管理这些参数。清单 2
转载 精选 2011-06-24 17:04:07
436阅读
1点赞
 所有的TCP/IP参数都位于/proc/sys/net/目录. 例如, 下面是最重要的一些参数, 后面是它们的含义: 1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲 2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲 3. /proc/sys/net/ipv4/
转载 精选 2011-07-06 10:27:24
793阅读
Linux的四个子系统:cpu子系统内存子系统IO系统网络子系统@cpu子系统# uptime10:21:35 up 47 min, 4 users, load average: 2.21, 2.13, 3.08单核心cpu的环境:3.08 表示在过去的15分钟内, 系统运行队列平均长度为3.08 。 也就是有3.08个进程处于R(运行状态)在运行队列中等待cpu去执行他们的指令,其实一个进
原创 2013-10-24 11:03:39
854阅读
  • 1
  • 2
  • 3
  • 4
  • 5