java技术圈 为您找到相关结果 8

LMDB中的mmap、Copy On Write、MVCC深入理解——讲得非常好,常来看看! - bonelee

lmdb创建完env对象,打开时,会做data file和lock file的mmap映射: env->me_lfd = open(lpath, O_RDWR|O_CREAT|MDB_CLOEXEC, mode); void *m = mmap(NULL, rsize, PROT_READ|PROT_WRITE, MAP_SHARED, env->me_lfd, 0); env->me_txns = m; env->me_fd = open(dpath, oflags, mode); env->me_map = mmap(addr, env->me_mapsize, prot, MAP_SHARED, env->me_fd, 0); 其他时刻都直接使用内存指针,通过系统级别的缺页异常获取对应...阅读全文

博文 2020-02-19 12:49:45 博客园

mysql8.0窗口函数:rank,dense_rank,row_number 使用上的区别

mysql8.0窗口函数:rank,dense_rank,row_number 使用上的区别 王静静@ 2018-05-17 14:04:57 浏览1416 评论0 函数 排序 Image BY test 窗口函数 mysql8.0 rank dense_rank row_number 摘要: 本节主要介绍排序类 rank,dense_rank,row_number使用上的区别 *RANK:跳跃排序DENSE_RANK:连续排序row_number:没有重复值的排序[记录相等也是不重复的]可以进行分页使用。 本节主要介绍排序类 rank,dense_rank,row_number使用上的区别 *RANK:跳跃排序DENSE_RANK:连续排序row_number:没有重复值的排序[记录相等也...阅读全文

博文 2021-02-02 03:47:26 juejin.cn

页 页表 页表项_WaneGi没有故事

五一假期前落下了几节操作系统的课,现在艰难的恶补中。。 以下是分页存储管理相关的一些知识点梳理。 首先我们应该知道的概念: 逻辑地址:是程序编译后,生成的目标模块进行编址时都是从0号开始编址,称之为目标模块的相对地址,即逻辑地址。 虚拟地址:计算机处理器的地址有32位和64位的两种,对应的虚拟地址的空间大小分别是2^32字节和2^64字节,字节用B表示。 页:分页存储管理将进程的逻辑地址空间划分为若干页(面),并且对其编号,号数从0开始,每个页(面)的大小称为页面大小,且大小应为2的幂。 物理块:将内存的物理地址空间划分为若干块,称为物理块,物理块与页(面)一一对应。 页表:又称页面映像表,存储在内存中,通过页表建立页(面)与物理块的索引。 下面通过举例子梳理一下: 假设我们已经知道了逻辑地...阅读全文

博文 2020-10-11 13:38:47 CSDN博客

重新认识 Java 中的内存映射(mmap)-腾讯云开发者社区

mmap 基础概念mmap 是一种内存映射文件的方法,即将一个文件映射到进程的地址空间,实现文件磁盘地址和一段进程虚拟地址的映射。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页到对应的文件磁盘上,即完成了对文件的操作而不必再调用 read,write 等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进程间的文件共享。mmap工作原理操作系统提供了这么一系列 mmap 的配套函数void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); int munmap( void * addr, size_t len); in...阅读全文

博文 2023-09-13 16:43:08 腾讯云

重新认识 Java 中的内存映射 mmap

mmap 基础概念mmap 是一种内存映射文件的方法,即将一个文件映射到进程的地址空间,实现文件磁盘地址和一段进程虚拟地址的映射。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页到对应的文件磁盘上,即完成了对文件的操作而不必再调用 read,write 等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进程间的文件共享。操作系统提供了这么一系列 mmap 的配套函数void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); int munmap( void * addr, size_t len); int msync(...阅读全文

博文 2023-05-15 03:54:19 知乎

浅析进程分配内存的两种方式——brk()和mmap()

如何查看进程发生缺页中断的次数?用ps -o majflt,minflt -C program命令查看。majflt代表major fault,中文名-叫大错误,minflt代表minor fault,中文名叫小错误。这两个数值表示一个进程自启动以来所发生的缺页中断的次数。发成缺页中断后,执行了那些操作?当一个进程发生缺页中断的时候,进程会陷入内核态,执行以下操作: 1、检查要访问的虚拟地址是否合法 2、查找/分配一个物理页 3、填充物理页内容(读取磁盘,或者直接置0,或者啥也不干) 4、建立映射关系(虚拟地址到物理地址) 重新执行发生缺页中断的那条指令 如果第3步,需要读取磁盘,那么这次缺页中断就是majflt,否则就是minflt。 内存分配的原理从操作系统角度来看,进程分配内存有两种方...阅读全文

天翼云弹性高性能计算Portal简介

本文分享自天翼云开发者社区《天翼云弹性高性能计算Portal简介》,作者:小燕同学1.平台概述天翼云官网已上线公有云弹性高性能计算(EHPC)产品,公有云EHPC产品主要由管理员控制,可进行创建集群、增删节点等操作,聚焦云上场景,可进行灵活、弹性的扩展。对于每一个集群,都有一个独立的portal。集群内portal与传统超算类似,更关注超算本身的业务,具有更好的私密性,不仅适用与公有云,同时也适用于私有云、混合云等业务。天翼云将云平台与传统超算相结合,满足不同用户群体的需求。2.主要功能集群内portal面向科研、生产、教育等需要大规模高性能计算的领域,具备高性能计算、集群管理、作业调度、实时性能监控、用户管理等能力。集群内portal分为普通用户端和管理员端,管理员为在天翼云官网上开通高性...阅读全文

虚拟机热迁移技术介绍

本文分享自天翼云开发者社区《虚拟机热迁移技术介绍》,作者:潘****东什么是虚拟机热迁移虚拟机热迁移(Virtual Machine Live Migration)是一种技术,它允许在不中断虚拟机运行的情况下将虚拟机从一台物理主机迁移到另一台物理主机。传统上,当需要迁移虚拟机时,必须先将虚拟机关机,然后将虚拟机的状态和数据从源主机复制到目标主机,最后再启动虚拟机。这种关机迁移方式会导致虚拟机暂时不可用,造成服务中断和用户体验下降。而虚拟机热迁移则克服了这个问题,它允许在虚拟机继续运行的同时将其迁移到新的物理主机上。这意味着虚拟机的状态和数据可以在迁移过程中实时复制,并在迁移完成后立即在目标主机上继续运行,几乎没有对用户的可见中断。虚拟机热迁移通常由虚拟化管理软件(如VMware vSpher...阅读全文