奥秘 缓存 磁盘 内存
缓存双写一致性之更新策略探讨
缓存双写一致性之更新策略探讨 面试题 上面业务逻辑你用java代码如何写? 你只要用缓存,就可能涉及到Redis缓存与数据库双存储双写,只要是双写就一定会有数据一致性的问题,那么如何解决? 双写一致性,你先动缓存Redis还是数据库MySQL?Why? 延时双删你做过吗?会有哪些问题? 有这么一种情 ......
10.磁盘的组织与管理
磁盘访问时间 1. 寻道时间(时间最长) 2. 旋转延迟时间 3. 传输时间 磁盘调度算法(减少寻找时间) 先来先服务算法(FCFS) 按进程提出访问的先后次序予以服务 但在对磁盘访问频繁的系统中,平均寻道距离大,因而平均访问时间长 最短寻道时间优先算法(SSTF) 每次从等待队列中选择要访问的目标 ......
RAID磁盘阵列
目录一、RAID的介绍1、RAID存储方式2、RAID逻辑卷二、RAID的分类1、RAID 02、RAID 13、RAID 24、RAID 35、RAID 46、RAID 57、RAID 68、RAID 10三、RAID比较四、部署磁盘阵列五、损坏磁盘阵列及修复取消挂载扩展六、磁盘阵列+备份盘 一、 ......
9.PG表的磁盘碎片清理
1.磁盘碎片 在PG中删除行时,这些行为只是被标记为 'dead' , 并不是真正从物理存储上进行删除,因为空间也没有被释放回收。 在PG中,除非进行自动的清理(vacuum)或者手工的清理,否则数据块所占用的物理空间是不会释放,在物理存储空间被回收之前,会导致存储空间中存在很多空洞。 大量的更新操 ......
C++(引用符号&、访问内存地址&)
在C++中,引用符号 & 和访问内存地址的 & 运算符有不同的用途和含义。 引用符号 &:创建引用 使用 & 符号可以创建引用,即给一个变量起一个别名。引用是一个别名,它与原变量共享相同的内存地址。 引用在声明时必须初始化,并且一旦初始化后,不能再引用其他变量。 int x = 10; int& r ......
磁盘性能检测(time&&fio)
一、time命令:time dd if=/tmp/test1 of=/tmp/test2 bs=8k count=51200 oflag=dsync参数说明:1、time 有计时作用,dd 用于复制,从 if 读出,写到 of;2、if=/dev/zero 不产生 IO,因此可以用来测试纯写速度;3 ......
Linux磁盘分区和挂载
一、准备工作(1)查看主机磁盘命令:lsblk(2)查看主机磁盘挂载文件系统情况命令:df -h二、磁盘分区(1)分区命令:fdisk -b 1024 /dev/vda其中:b 1024,一个sector size的大小;1GB;使用-b指定sector时,每个sector的大小是: sector ......
内存问题定位方法 - 内存泄漏
前言 Linux 内存是嵌入式开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。 Linux下内存问题可分为内存泄漏,踩内存,内存溢出,内存碎片,性能调优等。本文主要介绍工作中常用的几类内存问题的原因以及常见排查方法和工具,希望对大家有所帮助。 Linux下经常遇到内 ......
【转载】内存基本概念-node, zone ,page
1. Linux描述物理内存 在linux 内存管理(一)中介绍了UMA和NUMA,Linux通过巧妙办法把UMA和NUMA的差别隐藏了起来,所谓的UMA其实就是只有一个结点的NUMA。内存的每个结点关联到系统中的一个处理器内存控制器,每个服务器处理器可以有多个内存控制器,所以每个服务器处理器可以有 ......
【转载】内存基本概念-watermark&lowmem_reserve
概述 当系统内存短缺的情况下仍去申请内存,可能会触发系统对内存的回收,那什么时候应该进行回收,回收到什么标准又可以停止回收,参考依据是什么?即本文将介绍的watermark(内存水位线),当检查watermark时又不单单是判断watermark,还会牵扯到lowmem_reserve[],关于lo ......
【转载】内存基本概念-slab算法
Linux内存管理之slab 2:slab API https://blog.csdn.net/lqy971966/article/details/119801912 1. 为什么有了Buddy(伙伴系统)还需要slab? 1.1 什么是伙伴系统? Linux内核中使用伙伴系统(buddy syst ......
【转载】内存基本概念-伙伴(Buddy)算法
简介 在Linux系统中,内存的分配与回收速率直接影响系统的存取效率。当内核频繁请求和释放不同大小的一组连续页框时,会导致许多外部空闲碎片,造成空间的浪费。使用伙伴算法可以有效地缓解该问题。伙伴关系机制是操作系统中的一种动态存储管理算法。在进行内存分配时,该算法通过不断平分较大的空闲内存块来获得 ......
7.内存管理基础+连续分配
程序执行基本原理 程序是一条一条被读入寄存器内执行的 内存卡是一个临时保存中介,磁盘是永久保存介质 地址总线的选中原理(译码器原理) 四大存储器的速度和所处位置 寄存器>Cache>内存卡>磁盘 概念辨析 CPU位数、OS位数、内存地址总线数、内存数据总线数、逻辑地址位数、物理地址位数、真实内存大小 ......
Spring三级缓存和循环依赖
2023年12月22日17:02:18 今天咪宝想买迪士尼娃娃,但是我买不起,还得加油。 Spring Bean注入方式有至少3种, 1. 构造方法注入 2.set方法注入(@Autowired) 3.prototype多例bean注入 构造器注入和prototype注入的循环依赖会直接报错,set ......
若依关闭页签不会销毁 keep-alive 缓存的组件
问题场景 使用 keep-alive 缓存的组件。离开该页签时,组件状态为 inactive;点击该页签时,组件状态为 active。 点击按钮关闭该页签 this.$tab.closePage(view),该组件被销毁。 需求:在页面A中删除数据B,则之前点击数据B打开的页签C会被关闭(使用 th ......
vm exsi 扩展linux虚拟机磁盘空间,ubuntu系统扩容
在虚拟机的管理中为了不浪费资源空间,有一个原则,就是宁可初始化空间分的比较小,随着使用情况而逐步增加,也不要初始化空间分很大,造成物理磁盘空间的浪费和不够用 因为虚拟机扩容相对容易,缩容比较困难(有丢失数据的风险) 下面为我的一次扩容操作记录,用于日后回顾备忘 ......
彻底清除Chrome、Firefox、Edge、Safari等浏览器的缓存文件
浏览器的缓存,是存储在硬盘驱动器或手机/平板电脑存储中的网页集合。缓存包括你访问过的网页上包含的文本、图像和大多数其他媒体。 拥有网页的本地副本可以在下次访问时快速加载,因为你的计算机或移动设备不必再次从互联网下载。然而,随着时间的推移,缓存可能会占用计算机存储的很大一部分。 为什么必须清除缓存 你 ......
微服务广播模式实践:维护内存数据的缓存一致性
本文分享自华为云社区《微服务广播模式实践》,作者:张俭 。 微服务广播模式,指的是在微服务多实例部署的场景下,将消息广播到多个微服务实例的一种模式。 广播模式,一般用来维护微服务的内存数据,根据数据类型的不同,有助于解决两类问题。通常广播模式会使用支持发布订阅的消息中间件实现(如Redis、Kafk ......
磁盘io问题排查
环境: OS:Centos 7 1.top查看wa很高 avg-cpu: %user %nice %system %iowait %steal %idle top - 08:45:04 up 722 days, 17:33, 1 user, load average: 3.28, 3.12, 3.0 ......
Redis内存问题的学习之一
Redis内存问题的学习之一 背景 前几天帮同事看redis的问题 发现info memory 显示 60GB 但是实际上 save出来的dump文件只有 800M 然后导入到其他的redis之后, info memory只有 2G左右的内存. 所以感觉比较奇怪. 认为 redis 的info me ......
内存溢出和内存泄露的区别
大家好,我是joker,希望你快乐。 内存溢出 内存溢出(Out Of Memory,简称OOM)是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。 内存泄漏 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法 ......
系统设计-缓存篇
缓存:数据库成为瓶颈后,动态数据的查询要如何加速? 缓存可以有多层,比如上面提到的静态缓存处在负载均衡层,分布式缓存处在应用层和数据库层之间,本地缓存处在应用层。我们需要将请求尽量挡在上层,因为越往下层,对于并发的承受能力越差; 缓存命中率是我们对于缓存最重要的一个监控项,越是热点的数据,缓存的命中 ......
JVM内存参数的学习之三
JVM内存参数的学习之三 背景 研究启动性能时, 顺便看到了jmap -heap 1 的部分信息 看到: MinHeapFreeRatio、MaxHeapFreeRatio 自己突然以为是 Percentage的参数, 恍惚了好久. 才发现自己对内存的学习不够, 所以想多学习一下. 参数解释 Min ......
ThreadLocal的内存泄露?什么原因?如何避免?
前言 在分析ThreadLocal导致的内存泄露前,需要普及了解一下内存泄露、强引用与弱引用以及GC回收机制,这样才能更好的分析为什么ThreadLocal会导致内存泄露呢?更重要的是知道该如何避免这样情况发生,增强系统的健壮性。 内存泄露 内存泄露为程序在申请内存后,无法释放已申请的内存空间,一次 ......
分布式缓存NewLife.Redis
NewLife.Redis 是一个Redis客户端组件,以高性能处理大数据实时计算为目标。 Redis协议基础实现位于Redis/RedisClient,FullRedis为扩展实现,主要增加列表结构、哈希结构、队列等高级功能。 源码: https://github.com/NewLifeX/New ......
Linux磁盘
磁盘操作 分区状态查询 lsblk ( list block device ) 列出所有储存设备的意思 [root@localhost dev]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 80G 0 disk ├─sda1 8: ......
磁盘管理
Linux磁盘管理 目录Linux磁盘管理1.硬盘分区结构2. 分区2.1 硬盘分区说明2.2 查看磁盘信息2.3 fdisk分区2.4 parted分区2.5 分区生效3. 创建swap分区4.LVM逻辑卷5. 分区打label标签并挂载 1.硬盘分区结构 硬盘中的主分区数目只有4个,因此主分区和 ......
记录一次由nginx配置引发出来的一系列的缓存问题
问题描述: 在做一个企业微信的移动端项目时,每次修改代码后并且打包、部署完毕,再次打开页面总是会有上一次的缓存,一开始以为是cookie和webStorage缓存导致的,然后每次清除还是有缓存,后来把企业微信本身的缓存清除了之后再重进才有效果 问题推理:如果每次打开是上一次的缓存,那可能就是inde ......
Windows:域名文件和域名缓存刷新
域名文件 文件的路径:C:\Windows\System32\drivers\etc\hosts,可以根据需要在此文件中手动添加静态域名和IP的映射关系。 # Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS fil ......
c# 32位程序突破2G内存限制
起因在开发过程中,由于某些COM组件只能在32位程序下运行,程序不得不在X86平台下生成。而X86的32位程序默认内存大小被限制在2G。由于程序中可能存在大数量处理,期间对象若没有及时释放或则回收,内存占用达到了1.2G左右,就会引发异常“内存溢出”。环境:Visual Studio 2022 问题 ......