Centos6.0系统性能优化

合集下载

虚拟化性能调优之cpu篇

虚拟化性能调优之cpu篇

虚拟化性能调优之cpu篇CPU优化分析主要是两个阶段,虚拟化层和宿主机层。

前期主要怀疑是虚拟化层的影响,主要的怀疑点包括:1.超线程的影响关闭超线程之后单核性能有略微提升,但多核性能反而更差,排除超线程的因素2.NUMA架构和核迁移的影响按理说如果不按照NUMA的架构来做核绑定,由于缓存和迁移的影响,或造成较大的性能损失,通过绑定物理核测试发现并没有大的提升,排除该因素3.CPU模式的影响,包括指令集和缓存分析与vmware的差异,发现我们的指令集和cpu缓存与真实物理机不一致,通过cpu-passthrough和替换qemu版本将host cpu的特性透传仍然无法提升cpu性能排除了虚拟化层的影响,后来测试发现宿主机本身才是cpu性能的关键,部署了一个redhat对比环境发现宿主机跑分和redhat未经调优过系统差距很大。

分析了内核配置参数差异(sysctl)和编译参数差异,没有发现可疑的地方。

决定内核行为的并且用户可以干预的只剩下启动参数了,对比发现系统关闭了intel的cstate功能。

写了一个简单的死循环测试对比两个系统的表现,发现redhat内核有负载的cpu频率可以提高到3.1GHz,而当前host机只能达到2.6GHz,即使调整了cpufreq的模式为performance也无法让cpu达到更高的主频。

所以基本可以确认是这个参数导致的。

打开系统中cstate功能,跑speccpu可以达到和redhat类似的性能分数。

解决措施:目前发现cstate功能和调频功能有耦合,需要使能cstate 来解决cpu性能问题,去掉启动参数intel_idle.max_cstate=0 idle=pollintel cpu调频和节能相关的几个机制简介:cpufreq:提供频率调节功能,可以让cpu根据不同负载使用不同的频率,达到性能和功耗的动态可调整,服务器一般配置为performance,个人pc可以配置为ondemand或者powersave模式cstate:cpu深度睡眠节能模式,根据cpu睡眠器件,定义了多种睡眠状态,提供不同程度的节能选择,睡眠模式越高,唤醒代价越大。

Docker容器的资源利用率与性能优化

Docker容器的资源利用率与性能优化

Docker容器的资源利用率与性能优化Docker 容器的资源利用率与性能优化随着云计算和容器化技术的快速发展,Docker 已成为最受欢迎的应用容器化平台之一。

它提供了一种快速、可移植和可伸缩的方式来封装、部署和运行应用程序。

然而,随着容器数量的增加,容器的资源利用率和性能就成为了一个关键的挑战。

本文将讨论 Docker 容器的资源利用率和性能优化的方法,并提供一些建议和最佳实践。

1. 使用适当的容器镜像大小:选择合适大小的容器镜像是提高资源利用率的重要一环。

过大的镜像会浪费存储空间和网络带宽,并且需要更多的时间来拉取和部署。

相反,过小的镜像可能会缺少一些运行时依赖,导致应用程序无法正常工作。

因此,我们建议根据实际需求选择合适大小的容器镜像,并避免不必要的依赖。

2. 优化容器资源配置:在创建容器时,要合理配置容器的资源限制。

通过设置 CPU 和内存限制,可以避免容器间的资源争用,并提高整体系统的性能稳定性。

这样做可以防止某个容器耗尽系统资源,导致其他容器受到影响。

根据应用程序的需求,合理分配 CPU和内存资源是提高容器性能和资源利用率的重要一步。

3. 使用容器编排工具:容器编排工具,如 Kubernetes 或 Docker Swarm,可以帮助管理和调度多个容器实例。

它们可以根据实际需求自动扩缩容,根据负载情况平衡容器的分布,提供高可用性和负载均衡。

使用容器编排工具可以进一步提高资源利用率,并让容器集群更加稳定和可靠。

4. 监控和调优容器性能:监控容器性能是优化资源利用率的关键一步。

通过监测关键指标,如 CPU 使用率、内存使用率、网络流量等,可以了解容器的性能瓶颈和资源利用情况。

根据监控数据,可以调整容器的资源配置,优化容器的性能。

同时,及时发现和处理异常情况,如内存泄漏或网络延迟,可以避免潜在的性能问题。

5. 使用容器镜像层缓存:Docker 提供了镜像层缓存的功能,可以加速容器的构建和部署过程。

CentOS安装图解及常规使用教程

CentOS安装图解及常规使用教程

CentOS 6安装使用及DHCP服务配置教程金湖广电培训专用教程南京润灿信息科技有限公司版权所有序言Linux是一种自由和开放源代码的类UNIX操作系统。

该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。

在加上用户空间的应用程序之后,成为Linux操作系统。

Linux也是自由软件和开放源代码软件发展中最着名的例子。

只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。

大多数Linux系统还包括了像提供GUI界面的X Window之类的程序。

除了一部分专家之外,大多数人都是直接使用Linux发布版,而不是自己选择每一样组件或自行设置。

严格来讲,术语Linux只表示操作系统内核本身,但通常采用Linux内核来表达该意思。

Linux则常用来指基于Linux内核的完整操作系统,包括GUI组件和许多其他实用工具。

由于这些支持用户空间的系统工具和库主要由理查德·斯托曼于1983年发起的GNU计划提供,自由软件基金会提议将该组合系统命名为GNU/Linux,但Linux不属于GNU计划。

Linux最初是作为支持英特尔x86架构的个人电脑的一个自由操作系统。

目前Linux已经被移植到更多的计算机硬件平台,远远超出其他任何操作系统。

Linux是一个领先的操作系统,可以运行在服务器和其他大型平台之上,如大型主机和超级计算机。

世界上500个最快的超级计算机90%以上运行Linux发行版或变种,包括最快的前10名超级电脑运行的都是基于Linux内核的操作系统。

Linux也广泛应用在嵌入式系统上,如手机,平板电脑,路由器,电视和电子游戏机等。

在移动设备上广泛使用的Android操作系统就是创建在Linux 内核之上。

通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本Ubuntu,Linux Mint),Fedora(及其相关版本Red Hat Enterprise Linux,CentOS)和openSUSE等。

全新的Greenplum 6.0内核优化解读和7.0展望

全新的Greenplum 6.0内核优化解读和7.0展望
PostgreSQL 原生生的流复制技术 网网络开销低 端口口占用用数量量 快速replay 扩展性好 代码侵入入低
为 DR、CDC、3副本 打下基础 集群管理理复杂度降低
弹性
弹性数据分布
基础设施就绪
弹性计算
基础设施就绪
数据分布策略
一致性Hash 数据类型自适应
可自定义
在线扩容
不停机 不停业务 降低数据移动量
Image (图像) Graph (图数据)
流式数据
实时流式数据加载 时序数据分析 流式数据处理
HTAP à 超越大数据
TP 性能达70倍提升
SELECT : 14万/s INSERT: 4.6万/s UPDATE: 2.4万/s
Volume
数据类型
结构化数据 XML JSON
Variety
自自定义类型 多字节分隔符
亮点SQL特性,大幅提升开发速度
大表关联、分组聚集 Cube/Grouping Sets Window函数
(SQL 1992)
(SQL 1999)
(SQL 2003)
JSON (SQL 2016)
CREATE TABLE student_score (
student TEXT
流式数据
实时流式数据加载 时序数据分析 流式数据处理
Velocity
混合负载(HTAP)
多态存储引擎
Heap Append Optimized
列存(AOCO) 外部表
全新压缩方式(zstd) Unlogged 表
灵活资源管理
并发度 CPU 配额 CPU 绑定 内存 配额 磁盘配额
安全
---------+---------+-------+----

Docker容器的资源利用率与性能优化

Docker容器的资源利用率与性能优化

Docker容器的资源利用率与性能优化随着云计算和容器技术的快速发展,Docker作为一种开源的容器化平台,正逐渐成为企业级应用部署和管理的首选工具。

Docker容器通过将应用程序及其依赖项打包成一个可移植的镜像,实现了应用程序与基础设施的解耦,大大简化了应用的部署和维护。

然而,容器化的应用也面临着一些挑战,其中之一就是如何提高容器的资源利用率和性能。

一、资源利用率的优化1. 存储资源的优化Docker容器在启动时会从镜像中加载文件系统,如果容器中有大量的重复文件,则会浪费存储资源。

为了优化存储资源的利用率,可以使用镜像层共享技术,将相同的文件存储在一个共享的镜像层中,从而减少存储空间的占用。

2. 内存资源的优化Docker容器默认会为每个容器分配一定的内存资源,但有时可能会出现某个容器占用过多内存而导致其他容器运行不稳定的情况。

为了优化内存资源的利用率,可以使用内存限制来限制容器的内存使用量,并通过监控工具实时监测容器的内存使用情况,及时发现并解决内存占用过高的问题。

3. CPU资源的优化Docker容器默认会使用宿主机的全部CPU核心,但有时一个容器可能会占用过多的CPU资源,导致其他容器无法获得足够的CPU时间片。

为了优化CPU资源的利用率,可以使用CPU限制来限制容器的CPU使用量,并采用合适的调度策略将CPU资源分配给不同的容器,从而实现公平分配和优化性能。

二、性能优化的方法1. 合理配置容器网络Docker容器默认使用桥接网络模式,容器之间可以通过容器名称进行通信。

但在某些场景下,桥接网络模式可能会导致网络性能下降。

为了优化容器的网络性能,可以选择使用主机网络模式或者自定义网络模式,并根据实际需求配置容器的网络参数,如DNS设置、端口映射等。

2. 有效管理容器日志Docker容器的日志输出量庞大,如果日志没有有效管理,可能会导致磁盘空间占用过高和性能下降。

为了优化容器的日志管理,可以通过配置Docker守护进程的日志驱动程序,将容器的日志输出到指定的日志文件或远程日志服务器,以减少磁盘空间的占用和提高性能。

centos 6.0安装图解教程

centos 6.0安装图解教程

CentOS 6.0安装图解教程引言:用光盘或者U盘成功引导后,按键盘上面的ESC键,出现boot:输入linux text,进入文本安装模式;直接按回车,进入图形安装模式;如果不按ESC键,则默认进入图形安装模式。

下面以图形安装模式来演示:安装界面界面说明:Install or upgrade an existing system 安装或升级现有的系统install system with basic video driver 安装过程中采用基本的显卡驱动Rescue installed system 进入系统修复模式Boot from local drive 退出安装从硬盘启动这里选择第一项,安装或升级现有的系统,回车。

出现是否对CD媒体进行测试的提问,这里选择“Skip”跳过测试。

直接出现下面的界面语言选择界面中,如需要使用中文系统,则选择简体中文进行安装。

键盘选择为“美国英语式”。

选择第一项,基本存储设备。

设置计算机名时区选择,默认即可!设置root密码选择创建自定义布局可以看到硬盘的容量,我这里显示的是10G,现在自定义分区。

点创建,选择标准分区,点生成。

分区之前,自己先要规划好,怎么分区我这里的分区如下:硬盘总共10G/ 5GSwap 1G (内存小于2G时,设置为内存的2倍;内存大于或等于2G时,设置为2G) /home 4G系统引导设置,默认即可!默认是第三个,这里选择第一个,桌面安装。

备注:各个选择详细解释点击重新引导,系统重新启动。

需要创建一个普通用户系统重启,进入登录界面,安装完成!。

centos6.0安装配置教程

centos6.0安装配置教程

一.准备安装CentOS 61.CentOS简介CentOS 是甚么?CentOS 是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本。

每个版本的 CentOS 都会获得七年的支持(通过安全更新方式)。

新版本的 CentOS 每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。

这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。

CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。

由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux 使用。

两者的不同,在于CentOS并不包含封闭源代码软件。

CentOS是一个开源软件贡献者和用户的社区。

它对RHEL源代码进行重新编译,成为众多发布新发行版本的社区当中的一个,并且在不断的发展过程中,CentOS社区不断与其他的同类社区合并,使CentOS Linux逐渐成为使用最广泛的RHEL兼容版本。

CentOS Linux的稳定性不比RHEL差,唯一不足的就是缺乏技术支持,因为它是由社区发布的免费版。

CentOS Linux与RHEL产品有着严格的版本对应关系,例如使用RHEL4源代码重新编译发布的是CentOS Linux 4.0, RHEL5对应的是CentOS Linux 5.0,RHEL6对应的是CentOS Linux 6。

由于RHEL产品的生命周期较长(通常具有3~5年的官方支持),因此Red Hat公司在RHEL系列产品发布后每隔一段时间,都会将累积的更新程序重新打包成为更新的发行版进行发布,通常称为RHEL Update。

CentOS-6.5系统基础优化

CentOS-6.5系统基础优化

CentOS-6.5系统基础优化1.设置history历史记录echo 'export HISTFILE=$HOME/.bash_historyexport HISTSIZE=2000export HISTFILESIZE=2000export HISTTIMEFORMAT="%F %T `whoami` "export PROMPT_COMMAND="history -a; history -c; history -r;"shopt -s histappendtypeset -r PROMPT_COMMANDtypeset -r HISTTIMEFORMAT ' > /etc/profile.d/history.shsource /etc/profile2.添加普通用户,设置sudo权限username='dyt'password='dyt2015'useradd $username ; echo $password | passwd --stdin $usernamesed -i "98 a$username ALL=(ALL) NOPASSWD: ALL" /etc/sudoers3.禁止root远程用户登录sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config4.修改远程端口sed -i 's/#Port 22/Port 9527/' /etc/ssh/sshd_config/etc/init.d/sshd restart5.精简开机启动服务器for server in `chkconfig --list|egrep -v 'crond|network|rsyslog|sshd|iptables'|awk '{print $1}'`;d o chkconfig $server off; done6.关闭selinuxsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsetenforce 07.配置iptables/etc/init.d/iptables restartiptables -Fiptables -Xiptables -Ziptables -A INPUT -p icmp -j ACCEPTiptables -A INPUT -i lo -j ACCEPT#允许某个IP段远程访问sshiptables -A INPUT -p tcp -m tcp --dport 9527 -s 192.168.64.0/24 -j ACCEPT#开启80端口iptables -A INPUT -P tcp -m tcp --dropt 80 -j ACCEPT#允许某个IP的所有请求iptables -A INPUT -p all -s 124.43.56.90/30 -j ACCEPTiptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP/etc/init.d/iptables save/etc/init.d/iptables restart8.修改最大连接数ulimit#方法有很多,未必就这一种echo '* - noproc 65535' >> /etc/security/limits.confecho '* - nofile 65535' >> /etc/security/limits.conf9.禁止使用Ctrl+Alt+Del快捷键重启服务器sed -i "s/start on control-alt-delete/#start on control-alt-delete/g" /etc/init/control-alt-delete.co nf10.修改默认DNSecho "nameserver 8.8.8.8" > /etc/resolv.confecho "nameserver 8.8.4.4" >> /etc/resolv.conf11.安装必要软件,更新yum源[epel源]#根据个人公司情况,这里只列举了自己常用的软件和yum源,根据实际情况更改yum源yum -y install gcc gcc-c++ openssl-devel openssh-clients wget make lrzsz unzip zip xz ntpdate lso f telnet epel-release vim tree kernel-devel kernel12.更新内核和软件到最新版本yum -y upgrade13.优化内核参数[根据实际情况调整]echo -e "net.core.somaxconn = 262144" >> /etc/sysctl.confecho -e "dev_max_backlog = 262144" >> /etc/sysctl.confecho -e "net.core.wmem_default = 8388608" >> /etc/sysctl.confecho -e "net.core.rmem_default = 8388608" >> /etc/sysctl.confecho -e "net.core.rmem_max = 16777216" >> /etc/sysctl.confecho -e "net.core.wmem_max = 16777216" >> /etc/sysctl.confecho -e "net.ipv4.route.gc_timeout = 20" >> /etc/sysctl.confecho -e "net.ipv4.ip_local_port_range = 1024 65535" >> /etc/sysctl.confecho -e "net.ipv4.tcp_retries2 = 5" >> /etc/sysctl.confecho -e "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.confecho -e "net.ipv4.tcp_syn_retries = 1" >> /etc/sysctl.confecho -e "net.ipv4.tcp_synack_retries = 1" >> /etc/sysctl.confecho -e "net.ipv4.tcp_timestamps = 0" >> /etc/sysctl.confecho -e "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.confecho -e "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.confecho -e "net.ipv4.tcp_keepalive_time = 120" >> /etc/sysctl.confecho -e "net.ipv4.tcp_keepalive_probes = 3" >> /etc/sysctl.confecho -e "net.ipv4.tcp_keepalive_intvl = 15" >> /etc/sysctl.confecho -e "net.ipv4.tcp_max_tw_buckets = 36000" >> /etc/sysctl.confecho -e "net.ipv4.tcp_max_orphans = 3276800" >> /etc/sysctl.confecho -e "net.ipv4.tcp_max_syn_backlog = 262144" >> /etc/sysctl.confecho -e "net.ipv4.tcp_wmem = 8192 131072 16777216" >> /etc/sysctl.confecho -e "net.ipv4.tcp_rmem = 32768 131072 16777216" >> /etc/sysctl.confecho -e "net.ipv4.tcp_mem = 94500000 915000000 927000000" >> /etc/sysctl.confecho -e "net.ipv4.tcp_slow_start_after_idle = 0" >> /etc/sysctl.confecho -e "vm.swappiness = 0" >> /etc/sysctl.confecho -e "kernel.panic = 5" >> /etc/sysctl.confecho -e "kernel.panic_on_oops = 1" >> /etc/sysctl.confecho -e "kernel.core_pipe_limit = 0" >> /etc/sysctl.conf#iptables 防火墙echo -e "net.nf_conntrack_max = 25000000" >> /etc/sysctl.confecho -e "filter.nf_conntrack_max = 25000000" >> /etc/sysctl.confecho -e "filter.nf_conntrack_tcp_timeout_established = 180" >> /etc/sysctl.conf echo -e "filter.nf_conntrack_tcp_timeout_time_wait = 120" >> /etc/sysctl.conf echo -e "filter.nf_conntrack_tcp_timeout_close_wait = 60" >> /etc/sysctl.conf echo -e "filter.nf_conntrack_tcp_timeout_fin_wait = 120" >> /etc/sysctl.confo15.去除上次登录的信息touch ~/.hushlogin。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RHEL/CENTOS 性能优化一、前言本文档针对生产环境,具体优化策略需要根据实际情况进行调整;本文档将在以下几个方面来阐述如何针对RedHat Enterprise Linux进行性能优化。

1) Linux Proc文件系统,通过对Proc文件系统进行调整,达到性能优化的目的。

2) Linux性能诊断工具,介绍如何使用Linux自带的诊断工具进行性能诊断。

二、/proc/sys/kernel/优化1) /proc/sys/kernel/ctrl-alt-del该文件有一个二进制值,该值控制系统在接收到ctrl+alt+delete按键组合时如何反应。

这两个值分别是:零(0)值,表示捕获ctrl+alt+delete,并将其送至init 程序;这将允许系统可以安全地关闭和重启,就好象输入shutdown命令一样。

壹(1)值,表示不捕获ctrl+alt+delete,将执行非正常的关闭,就好象直接关闭电源一样。

缺省设置:0建议设置:1,防止意外按下ctrl+alt+delete导致系统非正常重启。

2) proc/sys/kernel/msgmax该文件指定了从一个进程发送到另一个进程的消息的最大长度(bytes)。

进程间的消息传递是在内核的内存中进行的,不会交换到磁盘上,所以如果增加该值,则将增加操作系统所使用的内存数量。

缺省设置:81923) /proc/sys/kernel/msgmnb该文件指定一个消息队列的最大长度(bytes)。

缺省设置:163844) /proc/sys/kernel/msgmni该文件指定消息队列标识的最大数目,即系统范围内最大多少个消息队列。

缺省设置:165) /proc/sys/kernel/panic该文件表示如果发生“内核严重错误(kernel panic)”,则内核在重新引导之前等待的时间(以秒为单位)。

零(0)秒,表示在发生内核严重错误时将禁止自动重新引导。

缺省设置:06) proc/sys/kernel/shmall该文件表示在任何给定时刻,系统上可以使用的共享内存的总量(bytes)。

缺省设置:20971527) /proc/sys/kernel/shmmax该文件表示内核所允许的最大共享内存段的大小(bytes)。

缺省设置:33554432建议设置:物理内存* 50%实际可用最大共享内存段大小=shmmax * 98%,其中大约2%用于共享内存结构。

可以通过设置shmmax,然后执行ipcs -l来验证。

8) /proc/sys/kernel/shmmni该文件表示用于整个系统的共享内存段的最大数目(个)。

缺省设置:40969) /proc/sys/kernel/threads-max该文件表示内核所能使用的线程的最大数目。

缺省设置:204810) /proc/sys/kernel/sem该文件用于控制内核信号量,信号量是System VIPC用于进程间通讯的方法。

建议设置:250 32000 100 128第一列,表示每个信号集中的最大信号量数目。

第二列,表示系统范围内的最大信号量总数目。

第三列,表示每个信号发生时的最大系统操作数目。

第四列,表示系统范围内的最大信号集总数目。

所以,(第一列)*(第四列)=(第二列)以上设置,可以通过执行ipcs -l来验证。

11) 待续。

三、/proc/sys/vm/优化1) /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作。

缺省设置:0,禁用Block Debug模式2) /proc/sys/vm/dirty_background_ratio该文件表示脏数据到达系统整体内存的百分比,此时触发pdflush进程把脏数据写回磁盘。

缺省设置:103) /proc/sys/vm/dirty_expire_centisecs该文件表示如果脏数据在内存中驻留时间超过该值,pdflush进程在下一次将把这些数据写回磁盘。

缺省设置:3000(1/100秒)4) /proc/sys/vm/dirty_ratio该文件表示如果进程产生的脏数据到达系统整体内存的百分比,此时进程自行把脏数据写回磁盘。

缺省设置:405) /proc/sys/vm/dirty_writeback_centisecs该文件表示pdflush进程周期性间隔多久把脏数据写回磁盘。

缺省设置:500(1/100秒)6) /proc/sys/vm/vfs_cache_pressure该文件表示内核回收用于directory和inode cache内存的倾向;缺省值100表示内核将根据pagecache和swapcache,把directory和inode cache保持在一个合理的百分比;降低该值低于100,将导致内核倾向于保留directory和inode cache;增加该值超过100,将导致内核倾向于回收directory和inode cache。

缺省设置:1007) /proc/sys/vm/min_free_kbytes该文件表示强制Linux VM最低保留多少空闲内存(Kbytes)。

缺省设置:724(512M物理内存)8) /proc/sys/vm/nr_pdflush_threads该文件表示当前正在运行的pdflush进程数量,在I/O负载高的情况下,内核会自动增加更多的pdflush进程。

缺省设置:2(只读)9) /proc/sys/vm/overcommit_memory该文件指定了内核针对内存分配的策略,其值可以是0、1、2。

0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2,表示内核允许分配超过所有物理内存和交换空间总和的内存(参照overcommit_ratio)。

缺省设置:010) /proc/sys/vm/overcommit_ratio该文件表示,如果overcommit_memory=2,可以过载内存的百分比,通过以下公式来计算系统整体可用内存。

系统可分配内存=交换空间+物理内存*overcommit_ratio/100缺省设置:50(%)11) /proc/sys/vm/page-cluster该文件表示在写一次到swap区的时候写入的页面数量,0表示1页,1表示2页,2表示4页。

缺省设置:3(2的3次方,8页)12) /proc/sys/vm/swapiness该文件表示系统进行交换行为的程度,数值(0-100)越高,越可能发生磁盘交换。

缺省设置:6013) legacy_va_layout该文件表示是否使用最新的32位共享内存mmap()系统调用,Linux支持的共享内存分配方式包括mmap(),Posix,System VIPC。

0,使用最新32位mmap()系统调用。

1,使用2.4内核提供的系统调用。

缺省设置:014) nr_hugepages该文件表示系统保留的hugetlb页数。

15) hugetlb_shm_group该文件表示允许使用hugetlb页创建System VIPC共享内存段的系统组ID。

16) 待续。

四、/proc/sys/fs/优化1) /proc/sys/fs/file-max该文件指定了可以分配的文件句柄的最大数目。

如果用户得到的错误消息声明由于打开文件数已经达到了最大值,从而他们不能打开更多文件,则可能需要增加该值。

缺省设置:4096建议设置:655362) /proc/sys/fs/file-nr该文件与file-max 相关,它有三个值:已分配文件句柄的数目已使用文件句柄的数目文件句柄的最大数目该文件是只读的,仅用于显示信息。

3) 待续。

五、/proc/sys/net/core/优化该目录下的配置文件主要用来控制内核和网络层之间的交互行为。

1)/proc/sys/net/core/message_burst写新的警告消息所需的时间(以1/10 秒为单位);在这个时间内系统接收到的其它警告消息会被丢弃。

这用于防止某些企图用消息“淹没”系统的人所使用的拒绝服务(Denial of Service)攻击。

缺省设置:50(5秒)2)/proc/sys/net/core/message_cost该文件表示写每个警告消息相关的成本值。

该值越大,越有可能忽略警告消息。

缺省设置:53)/proc/sys/net/core/netdev_max_backlog该文件表示在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

缺省设置:3004)/proc/sys/net/core/optmem_max该文件表示每个套接字所允许的最大缓冲区的大小。

缺省设置:102405)/proc/sys/net/core/rmem_default该文件指定了接收套接字缓冲区大小的缺省值(以字节为单位)。

缺省设置:1105926)/proc/sys/net/core/rmem_max该文件指定了接收套接字缓冲区大小的最大值(以字节为单位)。

缺省设置:1310717)/proc/sys/net/core/wmem_default该文件指定了发送套接字缓冲区大小的缺省值(以字节为单位)。

缺省设置:1105928)/proc/sys/net/core/wmem_max该文件指定了发送套接字缓冲区大小的最大值(以字节为单位)。

缺省设置:1310719)待续。

六、/proc/sys/net/ipv4/优化1) /proc/sys/net/ipv4/ip_forward该文件表示是否打开IP转发。

0,禁止1,转发缺省设置:02) /proc/sys/net/ipv4/ip_default_ttl该文件表示一个数据报的生存周期(Time To Live),即最多经过多少路由器。

缺省设置:64增加该值会降低系统性能。

3) /proc/sys/net/ipv4/ip_no_pmtu_disc该文件表示在全局范围内关闭路径MTU探测功能。

缺省设置:04) /proc/sys/net/ipv4/route/min_pmtu该文件表示最小路径MTU的大小。

缺省设置:5525) /proc/sys/net/ipv4/route/mtu_expires该文件表示PMTU信息缓存多长时间(秒)。

缺省设置:600(秒)6) /proc/sys/net/ipv4/route/min_adv_mss该文件表示最小的MSS(Maximum Segment Size)大小,取决于第一跳的路由器MTU。

相关文档
最新文档