iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux内核参数-共享内存
  • 130
分享到

Linux内核参数-共享内存

Linux内核参数-共享内存 2018-09-22 23:09:12 130人浏览 绘本
摘要

kernel.shmall This parameter sets the total amount of shared memory pages that can be used system wide. kernel.shmmax

Linux内核参数-共享内存

  • kernel.shmall

This parameter sets the total amount of shared memory pages that can be used system wide.

  • kernel.shmmax

This parameter defines the maximum size in bytes of a single shared memory segment that a linux process can allocate in its virtual address space.

  • kernel.shmmni

This parameter sets the system wide maximum number of shared memory segments.

首先解释几个定义

  • 共享内存

共享内存,顾名思义即系统中两个或多个进程可以共同访问的内存区域,数据库一般使用共享内存来存储热数据,多个进程可以访问相同的内存数据,尽量避免磁盘io,提升性能。

  • 共享内存段

共享内存段,可以理解为将共享内存分为一块一块的区域,每块区域即为一个共享内存段。

  • 共享内存页

共享内存页为共享内存的组织单元。用getconf _PHYS_PAGES查看系统可用的内存页总量,用getconf PAGE_SIZE查看内存页的大小。

下面解释一下上面说的三个参数

  • kernel.shmmax

这个参数定义了单个进程在它本身的虚拟地址空间里可以访问的单个共享内存段的最大值

oracle场景下,由于SGA由共享内存组成,因此SHMMAX可能会限制SGA的大小。 SHMMAX应略大于SGA大小。

  • kernel.shmall

这个参数定义了系统级别可以用的所有共享内存页的数量。

因为kernel.shmmax是单个内存段可使用的共享内存,所以kernel.shmall的大小应大于等于kernel.shmmax的内存大小,即ceil(shmmax/PAGE_SIZE)。

数据库场景下,我们通常会将系统内存的一半作为共享内存,那么简单的计算公示为


kernel.shmall = echo $(expr $(getconf _PHYS_PAGES) / 2)  

kernel.shmmax = echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))

  • kernel.shmmni

这个参数定义了在系统层面最大的共享内存段的数量。

默认值4096,一般不需要修改

参数配置对数据库的影响

  • 如果共享内存配置的过小,那么数据库的可用的数据缓存空间过小,影响数据库性能。

  • 如果共享内存配置的过大,共享内存占用了其它进程可使用的内存空间,容易导致OOM的发生。

--结束END--

本文标题: Linux内核参数-共享内存

本文链接: https://www.lsjlt.com/news/4085.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Linux】system V 共享内存
    文章目录 system V1. 共享内存原理第一阶段原理第二阶段原理 2. 直接写代码--编写代码进行原理介绍shmget函数ftok函数key值用法 1. 创建key值2. 创建共享内存 获取共享内存3. 将自己和共...
    99+
    2023-08-21
    linux 服务器 运维
  • Linux中如何共享内存
    这篇文章给大家分享的是有关Linux中如何共享内存的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1 共享内存的概念及使用过程1)共享内存的概念共享内存是IPC机制中的一种。共享内存:即允许两个或多个进程共享一个给...
    99+
    2023-06-15
  • linux怎么删除共享内存
    在Linux系统中,可以使用ipcs命令查看当前共享内存的情况。然后可以使用ipcrm命令删除共享内存。1. 使用ipcs命令查看共...
    99+
    2023-08-20
    linux
  • MySQL中怎么实现线程共享内存参数
    本篇文章为大家展示了MySQL中怎么实现线程共享内存参数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MySQL线程共享内存参数 全局共享内存主要是 My...
    99+
    2024-04-02
  • Linux中怎么实现共享内存
    Linux中怎么实现共享内存,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、概念共享内存是被多个进程共享的一部分物理内存,是进程间共享数据的最快的一种方法。&...
    99+
    2023-06-12
  • shmget() -- 建立共享内存
    shmget() -- 建立共享内存版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://leezen.blogbus.com/logs/19564086.html #include #include ...
    99+
    2023-06-04
  • Linux怎么实现共享内存同步
    本篇内容主要讲解“Linux怎么实现共享内存同步”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux怎么实现共享内存同步”吧!方法一、利用POSIX有名信号灯实现共享内存的同步有名信号量既可...
    99+
    2023-06-28
  • Linux如何实现进程间共享内存
    这篇文章主要介绍“Linux如何实现进程间共享内存”,在日常操作中,相信很多人在Linux如何实现进程间共享内存问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux如何实现进程间共享内存”的疑惑有所帮助!...
    99+
    2023-06-27
  • 云服务器共享内存
    云服务器共享内存的出现可以让用户在不同的云服务器上共享相同的内存空间,而无需为每个应用程序单独购买和管理内存空间。这种技术的优势在于,它可以让用户在多个云服务器上访问相同的数据和文件,并且无需担心数据和文件的安全问题。 使用云服务器共享内...
    99+
    2023-10-27
    内存 服务器
  • Linux系统共享内存该如何理解
    这篇文章主要为大家分析了Linux系统共享内存该如何理解的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux系统共享内存该如何理解”的知识吧。共享内存在...
    99+
    2023-06-28
  • 如何修改Linux内核参数vm.swappiness
    目录修改linux内核参数vm.swappiness调整vm.swappiness的方法了解vm.swappiness使用交换vm.swappiness小结一下吧总结修改Linux内核参数vm.swappiness 内核...
    99+
    2023-02-10
    修改Linux内核参数 vm.swappiness Linux内核参数
  • sga与内核参数
    在数据库配置过程中,sga的限制一般来自三个方面: 1.物理内存及可用的swap 2.内核参数SHMMAX 3.其他操作系统在共享内存上的限制 通常内核参数的配置会影响到sga中部分参数的配置,内核参数与i...
    99+
    2024-04-02
  • Linux进程共享内存的方法是什么
    这篇文章主要讲解了“Linux进程共享内存的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux进程共享内存的方法是什么”吧!共享内存 IPC 原理共享内存进程间通信机制主要用...
    99+
    2023-06-28
  • php共享内存如何设置
    在PHP中,可以使用`shmop`扩展来操作共享内存。以下是设置共享内存的步骤:1. 创建共享内存段:使用`shmop_open()...
    99+
    2023-09-26
    php
  • PHP入门指南:共享内存
    在Web开发领域中,PHP是一种非常流行的编程语言。它被广泛应用于动态网站的开发,也用于开发各种类型的框架和应用程序。在这个快速发展的行业中,学习PHP编程语言可以为您打开许多机会。在本篇文章中,我们将分享共享内存的相关知识,以帮助初学者掌...
    99+
    2023-05-20
    PHP 入门指南 共享内存
  • python怎么共享内存通信
    在Python中,可以使用多种方式来实现进程间的共享内存通信,下面是一些常用的方法: 使用`multiprocessing`模块中...
    99+
    2023-10-25
    python
  • c++怎么创建共享内存
    在C++中,可以使用操作系统的系统调用或者第三方库来创建共享内存。1. 使用操作系统的系统调用:在Unix/Linux操作系统中,可...
    99+
    2023-08-20
    c++
  • c++ windows下创建共享内存
    在Windows下,可以使用CreateFileMapping函数来创建共享内存。以下是一个示例代码:```cpp#include ...
    99+
    2023-08-19
    windows
  • Linux内核模块参数如何修改
    本篇内容主要讲解“Linux内核模块参数如何修改”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux内核模块参数如何修改”吧!内核模块是Linux操作系统中一个比较独特的机制,采用模块化技术...
    99+
    2023-06-27
  • Linux怎么进行内核参数优化
    今天小编给大家分享一下Linux怎么进行内核参数优化的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Sysctl命令及linu...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作