首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么 Linux 需要 Swapping

图 1 - Linux Swapping 正是因为 Linux 上的所有进程都会通过虚拟内存这一层抽象间接与物理内存打交道,而 Swapping 也充分利用了该特性,它能够让应用程序看到操作系统内存充足的假象...,然而并不知道它使用的部分虚拟内存其实在磁盘上,因为内存和磁盘的读写速度上的巨大差异,这部分虚拟内存的读写非常缓慢,我们在 为什么 CPU 访问硬盘很慢 曾经介绍过: 在 SSD 中随机访问 4KB 数据所需要的时间是访问主存的...,其他的文件不能存储在该区域上,我们可以使用 swapon -s 命令查看当前系统上的交换分区; Swap 文件是文件系统中的特殊文件,它与文件系统中的其他文件也没有太多的区别; Swap 分区的大小是需要系统管理员手动设定的...我们到现在已经对 Linux 上的 Swapping 有了一定的了解,接下来回到这篇文章想要讨论的问题 — 『为什么 Linux 需要 Swapping』,我们将从以下两个方面介绍 Swapping 解决的问题...Linux 中的 Swapping 机制主要是为内存不足和内存闲置两种常见的情况存在的 Swapping 可以直接将进程中使用相对较少的页面换出内存:当系统需要的内存超过了可用的物理内存时,内核会将内存中不常使用的内存页交换到磁盘上为当前进程让出内存

1.7K40

IT系统为什么需要可观测性?

既然标题是为什么需要可观测性,那么实在无需讨论三大支柱相关内容。就新技术采用的决策者来说,为什么需要可观测性比如何实现可观测性更为重要。...因此,下文将从可观测性的实际案例分析其价值,尝试说明为什么需要引入可观测技术。 价值 从实用主义出发,理解可观测性解决什么问题,比理解可观测性如何实现更有价值。...Google SRE Book, Chapter 12 为何快速排障需要可观测性?这是由于IT系统不断增加的复杂度决定的。大量云原生技术的采用,导致IT系统越来越复杂,快速排障变得越来越难。...2 案例2:“审批系统每周都出问题!” 某地产公司,将面向全球数万员工的业务审批系统部署在公有云基础设施之上。该系统由30多个微服务构成,并依赖10多个外部系统,应用调用关系复杂,故障定位极其困难。...结语 控制领域中,研究可观测性的目的是提供基于系统内部状态(白盒),而非系统外部输出(黑盒)进行控制的理论依据。在IT领域中,简单而言,可观测性就是为复杂IT系统寻求白盒监控能力。

34330
您找到你想要的搜索结果了吗?
是的
没有找到

为什么需要分布式系统

大家普遍对分布式系统的印象是难设计,难理解,难操作,而集中式系统相对更加简洁易懂。那么,为什么我们需要分布式系统呢?分布式系统提供更好的可用性。...第一,集中式系统中单机不可用会导致系统整体不可用;第二,系统吞吐量受限于单机的计算能力。分布式系统消除这两个限制的方法是用多机来存储数据的多个副本,负责更新的客户端会同时更新数据的多个副本。...分布式系统可以避免任何一个服务器成为单点故障,修复系统的过程对于生产环境来说是无感知的。分布式系统也可以放置在更靠近需要它们的用户的位置,更方便客户端访问,提高了网络环境的可用性。...可扩展性描述的是通过增减硬件来调节系统某些指标的能力。例如,通过增加磁盘来提高存储系统的容量,通过增加节点来增加存储系统的吞吐率。...无状态系统相对容易扩展,像HTTP负载均衡器这样的基本技术非常适合很多用例。有状态系统更难扩展,因为需要决定如何传播状态,并且需要弄清楚如何将用户发送到正确的位置以获取状态。

69630

IT系统为什么需要可观测性?

既然标题是为什么需要可观测性,那么实在无需讨论三大支柱相关内容。就新技术采用的决策者来说,为什么需要可观测性比如何实现可观测性更为重要。...因此,下文将从可观测性的实际案例分析其价值,尝试说明为什么需要引入可观测技术。 价值 从实用主义出发,理解可观测性解决什么问题,比理解可观测性如何实现更有价值。...Google SRE Book, Chapter 12 为何快速排障需要可观测性?这是由于IT系统不断增加的复杂度决定的。大量云原生技术的采用,导致IT系统越来越复杂,快速排障变得越来越难。...案例2:“审批系统每周都出问题!” 某地产公司,将面向全球数万员工的业务审批系统部署在公有云基础设施之上。该系统由30多个微服务构成,并依赖10多个外部系统,应用调用关系复杂,故障定位极其困难。...结语 控制领域中,研究可观测性的目的是提供基于系统内部状态(白盒),而非系统外部输出(黑盒)进行控制的理论依据。在IT领域中,简单而言,可观测性就是为复杂IT系统寻求白盒监控能力。

62240

Linux为什么性能工具需要 BPF 技术

了解更多BPF技术内幕,推荐阅读《BPF之巅:洞悉Linux系统和应用性能》一书。 ▼ BPF是近年来Linux 系统技术领域一个巨大的创新。...接下来我们来讨论一下,为什么性能工具需要 BPF 技术。 ▊ 为什么性能工具需要 BPF 技术 性能工具使用扩展版 BPF 来实现可编程性。BPF 程序可以执行自定义的延迟计算和统计摘要等功能。...如前面的程序输出截图所示,唯一需要复制到用户空间的数据是“count”列,其是一个数字数组。...---- 了解更多BPF技术内幕,推荐阅读《BPF之巅:洞悉Linux系统和应用性能》一书。...▊《BPF之巅:洞悉Linux系统和应用性能》 【美】Brendan Gregg 著 孙宇聪 吕宏利 刘晓舟 译 Gregg大师新作,《性能之巅》再续新篇 性能优化的万用金典,150+分析调试工具深度剖析

55640

为什么操作系统需要虚拟内存

除了文件之外,很多程序会共同使用一些常用的动态链接库,如 Mac 系统下的 ls、cat 等命令都需要 libSystem.B.dylib。...系统会在内存充足的情况下持续保留这类常用库在内存中,方便后续进程快速地调用。 按需加载 在有虚拟内存之前,要执行一个程序往往需要把整个程序加载进内存。...交换(Swapping) 当所需内存过大以至于物理内存不足时,系统会采取交换机制,即将曾经使用过但短期内可能不再需要的内存内容临时移出到硬盘上。...我的 htop 打开后会看到 Swp 是 0/1023MB,意思是系统没有把任何内存 swap 到硬盘上(因为我的 Mem 还够用),但如果需要的话最多可以把 1023MB 的内存 swap 出去,等需要时再拿回来就好...swapping 会导致性能变差,因此如果常常觉得电脑、主机慢到炸裂,开个浏览器一分钟才跳出来,而且刚好 Swap 的使用量又很高,那就很有可能是内存不足,快帮你的机器升级吧~ 总结 回到这篇的主题,为什么需要多加一层虚拟内存呢

9110

IT系统为什么需要可观测性(解读版)

,要么需要基础设施中分光镜像,均会对IT系统进行侵扰。...可观测性要求使用外部数据做分析,因此需要采用零侵扰的方式获取监控数据。不需要打桩插码、分光镜像,而是通过开放系统架构直接获取监控数据。...如果应用的升级/扩容在分钟级完成,那么监控系统就必须提供秒级的反馈能力。注意,这里的反馈需要对海量指标/追踪/日志数据进行查找分析,因此对可观测性平台的海量数据实时处理能力提出了极高要求。...第二个思路是”业务为中心“,无论开发、测试、系统、网络、安全等团队,均需要深入理解业务,从对代码、系统、设备的负责,变为对业务上线速度、交易量、健康度的负责。...为什么需要可观测性,就是给大家”赋能“。 让工程师、架构师、以及技术管理人员能够提升自我的认知能力、创新能力和组织能力。 如何理解可观测性,介绍了三种不同的视角。

1.2K40

为什么 Linux 和 macOS 不需要碎片整理

图 1 - macOS 磁盘工具 我们在 前一篇文章 中曾经分析过为什么早期 Windows 操作系统每隔一段时间可能需要整理磁盘上的碎片[^1],该问题背后有两个原因,其一是 Windows 使用的...Linux 和 macOS 系统需要碎片整理的原因与 Windows 需要碎片整理的原因正好相反: Linux 和 macOS 使用的文件系统或者降低了碎片发生的概率或者实现自动整理碎片的特性; 固态硬盘与机械硬盘具有不同的特性...,碎片整理可能不仅对提高读写性能没有显著的帮助,还不利于硬件的使用寿命; 文件系统 Linux 一般都使用 Ext2、Ext3 和 Ext4 文件系统,今天的大多数 Linux 发行版都选择了 Ext4...如果磁盘上确实出现了碎片,那么 Linux 和 macOS 的文件系统也会尝试移动出现碎片的文件,不需要额外的碎片整理工具,这种设计带来的用户体验会比手动触发耗时较长的碎片整理好很多。...这里简单总结一下 Linux 和 macOS 不需要碎片整理的两个原因: 文件系统基于区块分配的设计使得磁盘上出现碎片的概率很低,延迟分配和自动的整理策略解放了操作系统的使用者,在多数情况下不需要考虑磁盘的碎片化

1.8K10

为什么 Linux 和 macOS 不需要碎片整理

图 1 - macOS 磁盘工具 我们在 前一篇文章 中曾经分析过为什么早期 Windows 操作系统每隔一段时间可能需要整理磁盘上的碎片[^1],该问题背后有两个原因,其一是 Windows 使用的...Linux 和 macOS 系统需要碎片整理的原因与 Windows 需要碎片整理的原因正好相反: Linux 和 macOS 使用的文件系统或者降低了碎片发生的概率或者实现自动整理碎片的特性; 固态硬盘与机械硬盘具有不同的特性...如果磁盘上确实出现了碎片,那么 Linux 和 macOS 的文件系统也会尝试移动出现碎片的文件,不需要额外的碎片整理工具,这种设计带来的用户体验会比手动触发耗时较长的碎片整理好很多。...这里简单总结一下 Linux 和 macOS 不需要碎片整理的两个原因: 文件系统基于区块分配的设计使得磁盘上出现碎片的概率很低,延迟分配和自动的整理策略解放了操作系统的使用者,在多数情况下不需要考虑磁盘的碎片化...参考资料 [^1]: 为什么早期的 Windows 需要整理碎片 https://draveness.me/whys-the-design-windows-defragmentation/ [^2]:

1.3K30

为什么LINUX系统普及度不高?

Linux普及度不高主要说的在桌面版里面,在服务器以及移动设备端有些非常大的占比,特别是移动端占比,所有的安卓手机设备都是基于Linux内核,单纯的说Linux系统普及度不高明显存在问题。...Linux桌面版推广不起来主要是应用生态系统无法构建,就拿国内来讲安装一个Linux系统里面常见的工具几乎都用不了,所以在桌面版几乎很难推广起来,这就是很多人说的普及度不高原因。 ?...Linux出现一度引起了微软强烈得警惕性,但是Linux由于其开源特性很难形成规模化的商业特性,已经错过了最佳的构建应用生态系统的机会,但linux本身有着非常强大的特点,安全性以及网络性能等方面有着独特的优势...现在桌面版的linux版本大部分使用者是开发者,现在由于硬件配置提升了可以直接安装个虚拟机就可以流畅的用了,早期电脑由于硬件配置低,加上虚拟机软件本身占据非常大的内存导致系统比较卡顿,想要顺畅的玩耍最后的方式是选择双系统...,这样更加能有效提升系统的运行的效率,也是未来linux系统发展的一个考虑方向,普及率低只是针对桌面版来讲的,对于应用内范围以及应用设备还是高出windows系统,希望能帮到你。

2.4K40

为什么需要Docker?

一、为什么需要Docker 官方介绍(中文版): Docker 是世界领先的软件容器平台。 开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。...二、Docker是如何解决上述的问题的 2.1解决环境(切换/配置) 不知道大家有没有装过系统,比如说装Linux虚拟机,重装Windows系统,都是需要镜像的。 ?...它同时也提供了名称空间(namespace)区隔化的功能,使应用程序看到的操作系统环境被区隔成独立区间,包括进程树,网络,用户id,以及挂载的文件系统。...简单来说就是:LXC是一个为Linux内核包含特征的用户接口。通过强大的API和简单的工具,它可以让Linux用户轻松的创建和托管系统或者应用程序容器。...,要是我写文章写得不好,我是需要向XX谢罪的。 估计大家都用过虚拟机,虚拟机也能实现对应用的隔离,安装特定的镜像也能跑出我们想要的环境。虚拟机已经发展了很久了,为什么我们还需要Docker呢?

2K50

为什么需要 input?

不同系统有不同的系统控制台,不同的Python开发工具也有自己的 Python 控制台。并且在系统控制台中,你可以通过 python 命令进入 Python 的控制台。...所以这就有点让人晕了,导致经常有人会在系统控制台输入 Python 代码,或在 Python 控制台中执行系统命令(比如 pip)的,然后发现无法得到预期的效果。...这时候使用程序的人需要在控制台跳动的光标处输入内容,然后按回车确认完成输入。 3....为什么需要 input? 有人要问了: 需要什么值,直接赋值给变量不就好了,干嘛还要用 input?...软件的输入 为什么从没在其他软件中看过这种控制台的输入? 获取用户输入的途径有很多,比较常见的像输入框,按钮,甚至麦克风和摄像头,都是用户在向程序输入信息。

14310

为什么需要存储?

人是会生老病死的,除了口耳相传,人类需要更可靠的数据存储方法与更长久的物理介质。在过去,人类将数据保存在石板、竹简上,后来人类将数据保存在纸上,配合印刷术,使得信息可以大范围长久传播保存。...在上述过程中,数据和程序都存储在存储设备里,由文件系统来组织管理,当然,描述文件系统的信息也存储在存储设备里,即“文件系统元数据”。 随着互联网时代的到来,数据爆炸式增长。...最新的Windows 11操作系统,刚刚安装完后所占用的磁盘空间就超过了20GB。一些大型游戏,例如荒野大镖客2,,下载时需要确保有156G的储存空间。...互联网后端的分布式系统要求支持横向扩展,即通过增加普通 PC 服务器来提高系统的整体处理能力。 (2) 普通 PC 服务器性价比高,故障率也高,需要在软件层面实现自动容错,保证数据的一致性。...(3) 随着服务器的不断加入,需要能够在软件层面实现自动负载均衡,使得系统的处理能力得到线性扩展。 另外,越来越多的企业将核心业务数字化,如果采用单击系统,一旦出问题,那么系统就完全不能用了。

1.4K40

为什么需要 Zookeeper

其实学任何一项技术,首先都要弄明白,为什么需要这项技术。 为什么需要 Zookeeper 正经点来回答,就是我们需要一个用起来像单机但是又比单机更可靠的东西。 下面开始不正经的回答。...同样的,在分布式系统中,也需要这样的协调者,来回答系统下各个节点的提问。...而以往的很多ZK教程,上来就是“Zookeeper是开源的分布式应用协调系统”blabla,很多像我这样的小年轻看到就会很费解,到底什么是分布式协调,为什么分布式就需要协调 … 上面只是回答了我自己提出的问题...,为什么需要Zookeeper,或者说,为什么需要分布式协调系统,如果想进一步学习 ZK,你还需要了解下 Zookeeper 的内部实现原理。...这点是我的锅,在写这篇文章时,我还是把 Zookeeper 等价成了分布式协调服务,把为什么需要 Zookeeper 这个问题,等价成了 「为什么需要分布式协调服务」,其实这样是有问题的,因为想做分布式协调服务

1.1K10

为什么需要在云端构建Linux服务器?

因为安装和管理云端Linux服务器的经验有可能会给你的IT从业经历大大加分。 有许多办法可以从云端Linux入手,几乎不需要什么投入,许多不同的云服务提供商为你指明了道路,并且为新用户提供特惠服务。...区别可能并不重要,除非你在云端安装可能需要彼此交互的多个系统。实际上,亚马逊甚至不用这些术语来描述其EC2解决方案。 那么,EC2到底是什么呢EC2是你开始迁移到云端时经常听到的术语之一。...安装时间 安装云端Linux服务器通常需要选择你所需要的操作系统系统大小,并启动它。此外,还要在配置如何连接方面花点时间。不过整个过程很快,最多也就几分钟。...为什么是云大受欢迎的云端Linux服务器包括Ubuntu、CentOS、Suse Linux Enterprise Server和openSuse。...Linux云解决方案不仅仅适合想在云端安装个人系统的我们这些人,它还为许多中小公司提供了它们需要的所有计算能力。如今有好几家专业的、大获成功的公司使用云端服务器来处理所有工作。

6.4K70

请你谈谈为什么分布式系统需要限流器

限流器是一种防御性的编程实现方式,在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。...此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等。...为什么需要限流器 在一个大型的分布式系统系统设计要考虑很多很多方面: 系统动态扩容缩容,总会有滞后性。业务总会有高峰有低谷。...对于一个公共服务,不同租户或者不同用户都需要限流防止某个用户将所有的资源都抢光。 流控:为了防止某一个节点负载特别高,但是其他节点负载较低。...限流器的相关策略设计 如果完全不采用限流器,一般需要通过设置适当的请求超时,尽量小的同步等待队列和合适的断路策略,来防止过载。但是,这种方式并不能避免上面说的4个问题。

36810

为什么一定要学习linux系统

linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板。...用习惯了windows操作系统,再让大家切换到别的操作系统基本上是不可能的事情,改变一个人已经养成的习惯太难。没有办法深入到普通老百姓的生活中,并不意味着linux就没有用武之地了。...为什么linux很适合作为开发平台,首先linux执行效率比较高,很方便支持全键盘的操作,所有的动作都是在键盘上实现,不需要鼠标的参与,纯命令行可以满足这种要求,有很多程序员直接安装linux操作系统,...然后在linux安装windows虚拟机,毕竟很多支付之类的东西还只能支持到window系统。...linux系统搭建。

2.1K100

为什么我们需要基于Kubernetes的云操作系统

方海涛 策划 | 褚杏娟 早期单机操作系统是分层架构,后面才演化成今天如 linux windows 的宏内核微内核架构。...PaaS、SaaS 本质都是容器,是否还需要区分?这三层架构实际上已经被击穿! 程序员很认“鸭式辩型”,即会游泳、长翅膀的就是鸭子。这种抽象思维是极重要的,这也是 linux“一切皆文件”的设计哲学。...那还有个问题就是“传统公有云为什么贵?”主要有三方面的原因: 第一,传统公有云还是基于 IaaS、PaaS、SaaS 的架构,每一层都意味着成本。...像 linux 的 core 很内聚,驱动即使扩展了一万个,系统复杂度也没增加,虽然代码在一直增加。...如何实现这样一个云操作系统 如何去设计这样一个操作系统,首先一定需要有非常好的设计理念。

71820
领券