MySQL索引、锁与事务引子总结一些自己的理解,作为备忘。MySQL索引先说说索引吧。数据库需要完成数据的存储、查找、修改等操作。存储MySQL默认一个数据页大小是16KB(可以改为32KB等大小),而操作系统一个数据页(段页式)是4KB,MySQL放大四倍的目的在于尽量减少磁盘IO(用户检索范围查询比较多,而一次IO过程中,一页或两页的时间代价接近,约小于10ms),参照局部性预读原理。查找与修            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-18 10:13:19
                            
                                80阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            系统CentOS6.4下yum安装了tomcat6和jdk1.6,安装配置过程如下:http://www.111cn.net/sys/CentOS/72007.htmtomcat中部署两个项目A、B,同时部署时报内存溢出错误,系统CPU负载飙升,而单独部署A、B 和 只部署多个A或者只部署多个B项目系统运行正常。查看日志报错:OutOfMemoryError: PermGen space….&nb            
                
         
            
            
            
            # MySQL内存使用大页
## 1. 什么是大页
在操作系统中,内存是按页(page)管理的,通常页的大小为4KB。而大页(Huge Pages)是指操作系统中的一页大小为2MB或更大的内存页。使用大页可以减少操作系统内存映射表的大小,提高内存访问效率,减少内存访问的开销。
## 2. MySQL内存管理
MySQL作为一个关系型数据库管理系统,需要将内存分配给不同的组件,如查询缓存、连            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-11 05:29:13
                            
                                151阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                    linux 的内存管理是以页为单位进行管理的,标准的页大小是4kb,也就是4096字节。而linux允许配置定义更大大小的页。例如2M,1G,这就是大内存页。        1、大内存页(WHAT)        大内存页就是页的大小更大,例如可以配置            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-29 19:36:36
                            
                                210阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. 内核内存配置AArch64 Linux通常使用以下配置:4KB页面, 使用3级或4级转换表,支持39位(512GB)或48位(256TB)的虚拟地址。64KB页面,使用2级转换表,支持42位(4TB)虚拟地址。他们的内存布局是一致的。以内核defconfig默认的4KB page + 4 levels配置为例,LINUX在arm架构上把虚拟地址空间划分为2个空间, 虚拟地址和内核地址, 每个            
                
         
            
            
            
            什么是内存分页?我们知道,CPU是通过寻址来访问内存的。32位CPU的寻址宽度是 0~0xFFFFFFFF ,16^8 计算后得到的大小是4G,也就是说可支持的物理内存最大是4G。但在实践过程中,碰到了这样的问题,程序需要使用4G内存,而可用物理内存小于4G,导致程序不得不降低内存占用。为了解决此类问题,现代CPU引入了 MMU(Memory Management Unit 内存管理单元            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-31 04:39:37
                            
                                31阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一些系统支持内存页大于默认的4KB,有很多内存访问的应用通过使用大页内存可以减少Translation Lookaside Buffer的缺失。在mysql中,大页内存可以被InnoDB使用,来分配buffer pool和别的内存查看是否支持大页内存shell> cat /proc/meminfo | grep -i hugeHugePages_Total:       0Hu            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-09-08 09:22:59
                            
                                1002阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # MySQL内存关闭匿名大页
在使用MySQL数据库时,有时会遇到内存使用过高的问题。其中一个常见的原因是MySQL开启了匿名大页(Anonymous Huge Pages)的特性。虽然匿名大页在某些情况下可以提高性能,但在一些特定的硬件和操作系统环境中,它可能会导致内存浪费和性能下降。因此,当遇到这种情况时,关闭MySQL中的匿名大页特性是一种解决方法。
## 什么是匿名大页?
匿名大页            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-15 11:28:13
                            
                                191阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在Kubernetes(K8S)中,如果需要使用dpdk大页内存来提升网络性能,则需要对K8S集群进行相关设置。dpdk是一个用于数据平面开发的工具集,可以提供高性能的数据包处理能力,而使用大页内存则可以减小页表大小,提高内存访问效率。
下面我将向你介绍如何在K8S中实现dpdk大页内存的配置。
首先,让我们整理一下这个过程的步骤:
| 步骤 | 操作 |
|----|-----|
| 1.            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-25 11:11:08
                            
                                223阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            简单来说就是通过增大操作系统页的大小来减小页表,从而避免快表缺失。在介绍之前需要强调一点,大页内存也有适用范围,程序耗费内存很小或者程序的访存局部性很好,大页内存很难获得性能提升。所以,如果你面临的程序优化问题有上述两个特点,请不要考虑大页内存。后面会详细解释为啥具有上述两个特点的程序大页内存无效。1.背景在开发的过程中,遇到一个很严重的性能问题,单线程测试的时候性能还能达到要求,但是在多线程进行            
                
         
            
            
            
            二 方案概述在MySQL中,Innodb存储引擎可以使用大页为buffer pool和其他内存池分配内存空间。对于执行大量内存访问的应用程序可以通过使用大页降低Translation Lookaside Buffer (TLB) miss,从而使数据库性能得到改进。本方案旨在演示mysql中如何开启大页的使用。mysql默认是不启用大页的。MySQL中大页面的标准使用尝试使用支持的最大大小,最多4            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-11-13 10:47:12
                            
                                272阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            原文转载自:http://blog.csdn.net/yutianzuijin/article/details/41912871今天给大家介绍一种比较新奇的程序性能优化方法—大页内存(HugePages),简单来说就是通过增大操作系统页的大小来减小页表,从而避免快表 缺失。这方面的资料比较贫乏,而且...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-12-13 23:40:00
                            
                                1173阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            在 Linux 中,物理内存是以页为单位来管理的。页的大小为 4096 字节。 1MB 的内存能划分为 256 页; 1GB 则等同于 256000 页。 CPU 中有一个内置的内存管理单元,用于存储这些页的列表,每页都有一个对应的入口。在这种情况下,内存管理单元的大小决定了服务器能使用的最大内存大小。如果为服务器分配的内存远大于现有内存管理单元能管理的量,则会造成内存的浪费。 CentOS 6            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-16 10:32:59
                            
                                1071阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.Edit Scriptsu - oracle
$ vi hugepages_settings.sh
------------------------------------------
#!/bin/bash
#
# hugepages_settings.sh
#
# Linux bash script to compute values for the
# recommended HugeP            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-25 14:41:39
                            
                                61阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            mysql引擎 Innodb:  Page是Innodb存储的最基本结构,也是Innodb磁盘管理的最小单位,与数据库相关的所有内容都存储在Page结构里。Page分为几种类型:数据页(B-Tree Node)Undo页(Undo Log Page),系统页(System Page),事务数据页(Transaction System Page)等;16            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-21 12:26:39
                            
                                40阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            可参考oracle MOS 相关文档或Oracle官方Grid安装指导手册。
Best Practices and Recommendations for RAC databases with SGA size over 100GB (文档 ID 1619155.1)安装Oracle数据库都建议关闭透明大页https://www.cndba.cn/dave/article/26731 THP 背景            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-26 12:48:00
                            
                                152阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MySQL数据库InnoDB数据页结构 前言 关于数据库我们知道是通过内存对磁盘进行操作的,也知道数据会落实到磁盘上,但是数据在磁盘上的存储结构可能大家还不是很清楚。 MySQL服务器上负责对表中的数据的读取和写入的工作的部分是存储引擎,而关于服务器会支持不同类型的服务器,如:InnoDB、MyISAM、Memory...... 不同的存储引擎都是为了实现不同的特性进行开发的,真实数据的存储在不同            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-17 14:17:36
                            
                                142阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1)Nova 如何统计 OpenStack 计算资源?(2)为什么 free_ram_mb, free_disk_gb 有时会是负数?(3)即使 free_ram_mb, free_disk_gb 为负,为什么虚拟机依旧能创建成功?(4)资源不足会导致虚拟机创建失败,但指定了 host 有时却能创建成功?      作者以上四个问题为切入点,结合             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-08 13:19:42
                            
                                39阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ㈠ HugePages简介 HugePages是kernel 2.6引入以便适应越来越大的物理内存 在Linux下、page size默认是4K、如果使用HugePages、默认是2M 再看2个术语: page table 映射表:物理内存和swap的对应关系、访问内存是先读page table、根据表里的映射关系操作 TLB :cpu cache组件、缓存部分page table以提高转换速度 ㈡ MySQL 配置大页 好处 ① 提高TLB的命中率 ② 利用HugePages不会被Swa...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-07-31 19:52:00
                            
                                236阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            http://blog..net/dba_waterbin/article/details/9669929 http://blog..net/dba_waterbin/article/details/9669929 ㈠ HugePages简介 HugePages是kernel 2.6            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-07-09 00:47:00
                            
                                251阅读
                            
                                                                                    
                                2评论