Linux C lock pages】的更多相关文章

  虚拟内存按页划分,我们可以明确告诉系统:某一个虚拟内存页需要和实际内存帧相关联.这样一来,该内存页就被换进来了,而且不会被系统换出去.这一行为叫做锁页(locking a page). 一般来讲页的换进换出是透明的,一般程序接触不到这一层.但是呢,锁页可以为我们带来如下好处: 1.速度:如果你的程序对速度有严格的要求,页错误导致页的换进换出会浪费掉一定的事件.当然为了提高程序速度,你可能还需要提高程序的优先级. 2.隐私安全:没错锁页可以让你的程序更加安全.如果你的密码恰好存放在某一页上,而…
  Linux下的大页分为两种类型:标准大页(Huge Pages)和透明大页(Transparent Huge Pages).Huge Pages有时候也翻译成大页/标准大页/传统大页,它们都是Huge Pages的不同中文翻译名而已,顺带提一下这个,免得有人被这些名词给混淆.误导了.Huge Pages是从Linux Kernel 2.6后被引入的.目的是使用更大的内存页面(memory page size) 以适应越来越大的系统内存,让操作系统可以支持现代硬件架构的大页面容量功能.透明大页…
目录 . 内核锁机制 . 同步与互斥 . 锁定内存总线原子操作 . 信号量 . 自旋锁 . RCU机制 . PERCPU变量 . 内存和优化屏障 . 读者/写者锁 . 大内核锁 . 互斥量 1. 内核锁机制 内核可以不受限制地访问整个地址空间,在多处理器系统上(或类似地,在启用了内核抢占的单处理器上),这会引起一些问题,如果几个处理器同时处于核心态(即CPU正在执行内核区代码).则理论上它们可以同时访问同一个数据结构,这会造成竞态条件为了解决这个问题,内核使用了由锁组成的细粒度网络,来明确地保护…
1 Transparent Huge Pages 说明 官网上有2篇文章对THP 做了说明: https://access.redhat.com/solutions/46111 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-memory-transhuge.html Starting with RedHat6, RedHat7, OL…
此文转载,原文地址:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-whats-new CTP 2.0 The CTP 2.0 release contains the following improvements and fixes: Added Log Shipping functionality for SQL Server Agent. Localized messages of mssql-conf. Linux…
一.缘由: 曾经看到MySQL服务器上Cache占用特别大,其实大家都知道这是合理的,这些都是可用内存: 那么问题来了,是谁在占用这些Cache呢?如果去掉不合理的Cache占用,系统内存会更充分的得到利用. total used free shared buffers cached Mem: -/+ buffers/cache: Swap: 由上图可见,Cache占用了42G内存,猛地一看很可怕.实际上他还属于memfree之列.具体说明,可以看这里: http://www.linuxatem…
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, 驱动开发中设计到的硬件: * 数字电路知识 * ARM硬件知识 * 熟练使用万用表和示波器 * 看懂芯片手册和原理图 4, linux内核源代码目录结构: * arch/: arch子目录包括了所有和体系结构相关的核心代码.它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel c…
一 c++11  windows linux三种方式 //#include <stdio.h> //#include <stdlib.h> //#include <unistd.h> #include <windows.h> //#include <pthread.h> #include <mutex> #include <thread> #include <string.h> using namespace…
//如何在32位程序中突破地址空间4G的限制 //首先要获得内存中锁定页的权限 #define _WIN32_WINNT 0x0501 //xp系统 #include <windows.h> #include <iostream> using std::cout; using std::endl; BOOL AWESetLockPagesPrivilege( HANDLE hProcess, BOOL Enable ) { HANDLE Token = NULL; BOOL Res…
配置SQL Server去使用 Windows的 Large-Page/Huge-Page  allocations 目录表->页表->物理内存页 看这篇文章之前可以先看一下下面这篇文章 虚拟内存,物理内存,页面文件,还有任务管理器一些概念的解释 了解一下虚拟地址空间(VirtualAddressSpace,VAS)的概念 前几天在论坛里遇到一个问题 问题地址:http://social.technet.microsoft.com/Forums/zh-CN/c55640f9-c216-4621…
https://hoytech.com/vmtouch/ [root@localhost ~]# git clone git://github.com/hoytech/vmtouch.git 正克隆到 'vmtouch'... remote: Counting objects: , done. remote: Total (delta ), reused (delta ), pack 接收对象中: ), 285.79 KiB | 24.00 KiB/s, 完成. 处理 delta 中: ), 完…
Linux 2.6 - man page for ascii (linux section 7) - Unix & Linux Commands Linux 2.6 - man page for ascii (linux section 7)   ASCII(7) Linux Programmer's Manual ASCII(7) NAME ascii - ASCII character set encoded in octal, decimal, and hexadecimal DESCRI…
一.问题: 1.SQL Server 所占用内存数量从启动以后就不断地增加: 首先,作为成熟的产品,内存溢出的机会微乎其微.对此要了解SQL SERVER与windows是如何协调.共享内存.并且SQL SERVER的内部对内存的管理机制. 2.在Windows 2003以上版本运行的SQL Server,内存使用量突然急剧下降: 内存是Sqlserver的生命线.在errorlog中,出现一下情况:       这类问题往往不是sql server导致的,而是Windows感觉到急迫的内存压力…
主要涉及到的函数 include(),require().include_once(),require_once() magic_quotes_gpc().allow_url_fopen().allow_url_include().move_uploaded_file() .readfile() file().and file_get_contents().upload_tmp_dir().post_max_size().and max_input_time()等 典型漏洞代码: <!–?php…
SQLSERVER 数据库性能的基本 很久没有写文章了,在系统正式上线之前,DBA一般都要测试一下服务器的性能 比如你有很多的服务器,有些做web服务器,有些做缓存服务器,有些做文件服务器,有些做数据库服务器 做数据库服务器的那台服务器性能要相对较好,磁盘,内存,CPU等等, 那么在选用其中某一台服务器作为数据库服务器之前需要测试每一台服务器的性能 并且需要设置一些硬件的参数,例如设置磁盘控制器的参数,参考文章:Writeback和Writethrough区别 那么具体怎麽测试呢?怎麽得出测试指…
1.数据库概述 简 而言之,数据库(DataBase)就是一个存储数据的仓库.为了方便数据的存储和管理,将数据按照特定的规律存储在磁盘上.通过数据库管理系统,可以有 效的组织和管理存储在数据库中的数据.如今,已经存在的Oracle.SQLServer.MySQL等诸多优秀的数据库.   详解内容: 数据存储方式 数据库在开发中的作用 数据库访问技术 MySQL数据库的介绍 数据库泛型 SQL语言 常见数据库系统 如果学习数据库   1.1 数据库理论基础 数据库能够将数据按照特定的规律组织起来.…
第一部门 WinDdg 入门指南 1.NGen.exe --> native code 预编译,省去了.NET程序编译器JIT过程,是程序第一次运行也非常快. NGen 参考资料:http://msdn.microsoft.com/zh-cn/library/6t9t5wcf.aspx 2.在不同版本下查看dump .NET 2.0/.NET 3.0/.NET 3.5 !loadby sos mscorwks或!loadby [sos文件路径] .NET 4.0 !loadby sos clr…
所有linux系统详细设置参考: https://docs.mongodb.org/manual/tutorial/transparent-huge-pages/ vi /etc/init.d/disable-transparent-hugepages #!/bin/sh ### BEGIN INIT INFO # Provides: disable-transparent-hugepages # Required-Start: $local_fs # Required-Stop: # X-St…
主要涉及到的函数include(),require().include_once(),require_once()magic_quotes_gpc().allow_url_fopen().allow_url_include().move_uploaded_file() .readfile() file().and file_get_contents().upload_tmp_dir().post_max_size().and max_input_time()等 典型漏洞代码:<!–?php in…
内存概念: Working Set = Private Bytes + Shared Memory Working Set:某个进程的地址空间中,存放在物理内存的那一部分 Private Bytes:某个进程提交的地址空间(Commited Memory)中,非共享的部分 Shared Memory:对多个进程可见的内存,或存在于多个进程的虚拟地址空间.例如如果两个进程使用相同的DLL,只要该DLL代码装入内存一次,其他所有映射这个DLL的进程只要共享这些代码就可以了 Virtual Addre…
windows memory:  Memory: Cache Bytes 是系统的working set, 也就是系统使用的物理内存数目. 可以观察Windows用了多少物理内存. 1. System Cache Resident Bytes 2. System Driver Resident Bytes 3. System Code Resident Bytes 4. Pool Paged Resident Bytes SQL Server 动态管理内存: SQL Server 是通过以下的A…
很久没有写文章了,在系统正式上线之前,DBA一般都要测试一下服务器的性能 比如你有很多的服务器,有些做web服务器,有些做缓存服务器,有些做文件服务器,有些做数据库服务器 做数据库服务器的那台服务器性能要相对较好,磁盘,内存,CPU等等, 那么在选用其中某一台服务器作为数据库服务器之前需要测试每一台服务器的性能 并且需要设置一些硬件的参数,例如设置磁盘控制器的参数,参考文章:Writeback和Writethrough区别 那么具体怎麽测试呢?怎麽得出测试指标呢? 大家可以参考这篇文章:SQL…
背景知识: sp_configure   显示或更改当前服务器的全局配置设置(使用 sp_configure 可以显示或更改服务器级别的设置.) 查看 全局配置值 方法 1.execute sp_configure;直接查看所有. 方法 1.execute sp_configure @configname='Name';直接查看指定. 方法  2.保存到表中以方便操作 第一步:建表 create table InstanceConfigure(                         …
原文:SQL SERVER 内存分配及常见内存问题(1)--简介 一.问题: 1.SQL Server 所占用内存数量从启动以后就不断地增加: 首先,作为成熟的产品,内存溢出的机会微乎其微.对此要了解SQL SERVER与windows是如何协调.共享内存.并且SQL SERVER的内部对内存的管理机制. 2.在Windows 2003以上版本运行的SQL Server,内存使用量突然急剧下降: 内存是Sqlserver的生命线.在errorlog中,出现一下情况:       这类问题往往不是…
SQLSERVER 数据库性能的基本 很久没有写文章了,在系统正式上线之前,DBA一般都要测试一下服务器的性能 比如你有很多的服务器,有些做web服务器,有些做缓存服务器,有些做文件服务器,有些做数据库服务器 做数据库服务器的那台服务器性能要相对较好,磁盘,内存,CPU等等, 那么在选用其中某一台服务器作为数据库服务器之前需要测试每一台服务器的性能 并且需要设置一些硬件的参数,例如设置磁盘控制器的参数,参考文章:Writeback和Writethrough区别 那么具体怎麽测试呢?怎麽得出测试指…
系统调优 禁用swap 使用swapoff命令可以暂时关闭swap.永久关闭需要编辑/etc/fstab,注释掉swap设备的挂载项. swapoff -a 如果完全关闭swap不可行,可以试着降低swap使用的优先级,执行 sysctl vm.swappiness = 1 并编辑/etc/sysctl.conf,加入swappiness设置. 如果因为一些原因,无法对swap进行操作,可以将ES配置中的memory_lock设置为true,从JVM层面保证内存数据交换到swap中. boots…
跟踪标记:834 功能: 在64位的windows环境下,为SQL Server开启这个跟踪标记,那么SQL Server 会使用大页(Large pages)为内存缓冲区(buffer pool)分配内存,从而可以提高CPU转换检测缓冲区(TLB: Translation Lookaside Buffer)的效率得以提升性能: 大页(Large Pages): 正常情况下windows内存是4KB的页,而大页的最小空间是2MB,也就是说分配的时候可能大于2MB: 转换检测缓冲区(TLB: Tr…
//#include <stdio.h> //#include <stdlib.h> //#include <unistd.h> #include <windows.h> //#include <pthread.h> #include <mutex> #include <thread> #include <string.h> using namespace std; char* buf[5]; //字符指针数组…
目录 MongoDB 生产环境笔记 一.vm.zone_reclaim_mode 参数 二.添加 swap 分区 三.设置 swappiness 参数 四.内核和文件系统版本 五.禁用 Transparent Huge Pages (THP) 六.ulimit 设置 七.tcp_keepalive_time 八.同步时间 MongoDB 生产环境笔记 在生产环境中,我们配置MongoDB需要注意点有很多,而不是一安装就可以使用.我们需要配置一些内核和系统参数.因为这些参数是会影响到我们 Mong…
Complete list of Microsoft SQL Server trace flags (585 trace flags) REMEMBER: Be extremely careful with trace flags, test in your test environment first. And consult professionals first if you are the slightest uncertain about the effects of your cha…