DBA不可不知的操作系统内核参数】的更多相关文章

背景 操作系统为了适应更多的硬件环境,许多初始的设置值,宽容度都很高. 如果不经调整,这些值可能无法适应HPC,或者硬件稍好些的环境. 无法发挥更好的硬件性能,甚至可能影响某些应用软件的使用,特别是数据库. 数据库关心的OS内核参数 512GB 内存为例 参数 fs.aio-max-nr 支持系统 CentOS 6, 7 参数解释 aio-nr & aio-max-nr: . aio-nr is the running total of the number of events specifie…
Linux操作系统内核参数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一./proc目录 /proc目录: 内核把自己内部状态信息及统计信息,以及可配置参数通过proc伪文件系统加以输出.换句话说,该目录实际上是一个虚拟目录,该目录里面的数据实际上都映射到内存中的,该目录数据均来自于内存. 参数: 只读:输出信息 可写:可接受用户指定“新值”来实现对内核某功能或特性的配置 /proc/sys: ()sysctl命令用于查看或设定此目录中诸多参数 sysctl -w pat…
专家解读Linux操作系统内核中的GCC特性   Linux内核使用GNU Compiler Collection (GCC)套件的几个特殊功能.这些功能包括提供快捷方式和简化以及向编译器提供优化提示等等.了解这些特殊的 GCC 特性,学习如何在 Linux 内核中使用它们. GCC和Linux是出色的组合.尽管它们是独立的软件,但是 Linux 完全依靠 GCC 在新的体系结构上运行.Linux 还利用 GCC 中的特性(称为扩展)实现更多功能和优化.本文讨论一些重要的扩展,讲解如何在 Lin…
操作系统内核Hack:(四)内核雏形 在本系列的前一篇文章<操作系统内核Hack:(三)BootLoader制作>中,我们制作出了一个两阶段引导BootLoader,并进入了一个内核的空壳main函数.本文我们继续完善引导程序和内核,让内核的内容一点点充实起来.本文的代码可以参考GitHub上的MiniOS分支kernel_prototype. 1.周边代码修改 1.1 常量和宏提取 像各个模块的内存这种常量,会经常被引导,所以就提取出一个单独的文件var.inc.同理,保护模式相关的常量和宏…
操作系统内核Hack:(三)引导程序制作 关于本文涉及到的完整源码请参考MiniOS的v1_bootloader分支. 1.制作方法 现在我们已经了解了关于BootLoader的一切知识,让我们开始动手做一个BootLoader吧!但真正开始之前,我们还要做出一个选择,在之前的讨论中我们曾说过,有两种学习和制作引导程序和操作系统内核的路线:1)<Orange's:一个操作系统的实现>书中的路线:2)Linux 0.11的路线. 1.1 两种实现思路 具体来说,第一种路线就是将BootLoade…
操作系统内核Hack:(二)底层编程基础 在<操作系统内核Hack:(一)实验环境搭建>中,我们看到了一个迷你操作系统引导程序.尽管只有不到二十行,然而要完全看懂还是需要不少底层软硬件知识的.本文的目的就是跟大家一起学习这一部分知识,本着够用就行的原则,不会完全铺开来,只要能让我们顺利走完未来的操作系统内核Hack之旅就可以了. 1.开篇:"古怪"的80386 如果大家跳过这一部分直接看本文后面的部分,或者您之前接触过操作系统内核的学习,一定会觉得80386的行为很古怪.为…
操作系统内核Hack:(一)实验环境搭建 三四年前,心血来潮,入手<Orange's:一个操作系统的实现>学习操作系统内核,还配套买了王爽的<汇编语言(第二版)>和<80X86汇编语言程序设计教程>,虽然Orang's只看了不到三分之一,但当时还是很认真的,练习也做了不少.唯一遗憾的就是没有留下文字记录,导致现在忘得差不多一干二净了,后悔不已!如今想再捡起来,弥补当时的懒惰,虽然困难重重,但这么优秀的国产书怎么能看完就算了呢!而且当年还是在Windows下练习的,现在终…
服务器cpu过高修复:操作系统内核bug导致修改系统内核参数/etc/sysctl.conf添加下面2条参数:vm.dirty_background_ratio=5vm.dirty_ratio=10…
Linux操作系统内核编译之NTFS文件系统模块支持案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.内核编译概述 单内核体系设计.但充分借鉴了微内核设计体系的优点,为内核引入模块化机制 内核组成部分: kernel:([*]:Y) 内核核心,一般为bzImage,通常在/boot目录下 名称为 vmlinuz-VERSION-RELEASE kernel object:([M]:M) 内核对象,一般放置于/lib/modules/VERSION-RELEASE/ 辅助…
1. accept: 电话铃响起了-- 当客户端的连接请求到达时,服务器端应答成功,连接建立,这个时候操作系统内核需要把这个事件通知到应用程序,并让应用程序感知到这个连接.这个过程,就好比电信运营商完成了一次电话连接的建立, 应答方的电话铃声响起,通知有人拨打了号码,这个时候就需要拿起电话筒开始应答. accept 这个函数的作用就是连接建立之后,操作系统内核和应用程序之间的桥梁.它的原型是: int accept(int listensockfd, struct sockaddr *cliad…