热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux交换分区是必须的吗

linux交换分区不是必须的;linux系统可以在没有交换分区的情况下完美运行,在某些情况下,可以像嵌入式解决方案一样,linux可以不交换运行,交换分区拥有尽可能多的物理内存是避免交换的最佳解决方案。

linux交换分区不是必须的;linux系统可以在没有交换分区的情况下完美运行,在某些情况下,可以像嵌入式解决方案一样,linux可以不交换运行,交换分区拥有尽可能多的物理内存是避免交换的最佳解决方案。

程序员必备接口测试调试工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
后端、前端、测试,同时在线协作,内容实时同步

本教程操作环境:linux7.3系统、Dell G3电脑。

linux交换分区是必须的吗

Linux 系统可以在没有交换分区的情况下完美运行。

当您安装Linux时,安装过程可能会添加交换分区到硬盘以及Linux本身的分区。但是这个交换分区是什么用的,真的有必要吗?

什么是交换?

当多任务操作系统用完物理内存时,无法启动新进程或为现有进程分配更多内存。为了解决这个问题,本地存储(通常是硬盘驱动器)上的一个特殊的空间块被放在一边作为一个临时保存区操作系统这释放了新的工作的记忆。当非活动进程再次变为活动状态时,它将从本地存储交换回内存。此过程称为交换。

Is交换空间真的有必要吗?

Is交换空间在技术上是必需的?

没有。Linux可以在没有它的情况下工作,在某些情况下,像嵌入式解决方案一样,Linux可以不交换运行。如果操作系统进入它没有的情况如果有足够的物理RAM,机器将运行没有任何问题。

交换空间实际上是必需的?

虽然交换减慢了计算机(因为读取和写入硬盘比访问RAM慢得多),并且拥有尽可能多的物理内存是避免交换的最佳解决方案,但是有合法的情况需要进行交换。例如,在系统引导过程中,可能会有一些进程运行(因此消耗系统内存),但可以在很长一段时间内有效地进行休眠。或分配的内存,写入然后再不使用。在这些情况下,交换算法将开始将该内存迁移到硬盘,从而释放宝贵的系统内存。这实际上确保了RAM的最大数量随时可用,从而提高性能。

扩展知识

On机器

为了完整起见,值得一提的是,Linux还有一个称为内存失败者(OOM)的子系统,而不是在内存耗尽时停止内核,将开始杀死进程以释放资源。它的动作是可配置的。

我应该分配多少交换空间?

没有绝对的规则,由于硬盘空间便宜(美元/吉比特),最好分配太多太多的空间。作为经验法则,您应该有两到三倍的交换空间作为物理内存。

添加交换而不扩展交换分区

有两种方法可以在不更改现有交换分区的情况下向系统添加交换空间。一种方法是在另一个驱动器上使用交换分区,另一种是使用交换文件。

要使用另一个硬盘驱动器,请创建一个类型的分区要立即使用交换空间要永久性地将交换空间添加到系统中,您需要编辑/ etc / fstab文件并添加类似于this:

/ dev / sdb2的行无交换sw 0 0

如果您的系统正在使用唯一的标识符命名磁盘,请使用blkid命令来获取设备的ID列表。在/ etc / fstab中安装交换空间的行将看起来像是这样的.:

UUID = 036da155-1ea1-4392-b8d4-700f65aa1ead none swap sw 0 0

要使用文件进行交换,请在该文件上创建一个大的空白文件(使用dd)要用于交换的文件系统。例如,要创建一个1GB文件,type = 10mh1112

dd if = / dev / zero of = / store / swapfile bs = 1024 count = 1048576

Where / store / swapfile是所需文件系统上交换文件的路径。

As与附加交换分区,该文件现在需要准备与mkswap,然后与swapon一起使用。它还需要添加到/ etc / fstab文件中。该过程与上述完全相同,但是您需要使用/ store / swapfile而不是/ dev / sdb2作为交换空间参数。

Swappiness

可以调整Linux内核以定义如何积极地尝试将进程交换出内存。这种趋势由称为swappiness的内核变量控制。0的意思是内核将尽可能避免交换,而100表示内核将如何使用交换空间是积极的。许多Linux发行版的默认设置是60.可以使用此命令动态地更改数字.:

sudo sysctl vm。swappiness = 10

要永久设置值,您需要更改(或添加,如果没有)/ etc / sysctl中的swappiness变量。conf文件。

Linux视频教程

以上就是linux交换分区是必须的吗的详细内容,更多请关注其它相关文章!


推荐阅读
  • ZeroMQ在云计算环境下的高效消息传递库第四章学习心得
    本章节深入探讨了ZeroMQ在云计算环境中的高效消息传递机制,涵盖客户端请求-响应模式、最近最少使用(LRU)队列、心跳检测、面向服务的队列、基于磁盘的离线队列以及主从备份服务等关键技术。此外,还介绍了无中间件的请求-响应架构,强调了这些技术在提升系统性能和可靠性方面的应用价值。个人理解方面,ZeroMQ通过这些机制有效解决了分布式系统中常见的通信延迟和数据一致性问题。 ... [详细]
  • 本文详细介绍了如何使用OpenSSL自建CA证书的步骤,包括准备工作、生成CA证书、生成服务器待签证书以及证书签名等过程。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
  • 如何在Linux系统中实现Windows风格的桌面环境:将Ubuntu 18.04定制为Windows主题界面
    如果您是从Windows转到Linux系统的用户,可能会觉得默认的Ubuntu主题和桌面环境缺乏吸引力和可定制性。尤其是对于习惯了Windows风格的任务栏和主题的用户,Ubuntu 18.04的橙色主题可能显得过于简洁。为了提升用户体验,可以通过安装特定的桌面环境和主题来实现类似Windows的界面效果。本文将详细介绍如何在Ubuntu 18.04中配置和定制桌面环境,使其具备Windows风格的外观和功能。 ... [详细]
  • 本文详细探讨了MySQL并发参数的优化与调整方法,旨在帮助读者深入了解如何通过合理配置这些参数来提升数据库性能。文章不仅介绍了常见的并发参数及其作用,还提供了实际操作中的调整策略和最佳实践,适合希望提高数据库管理技能的技术人员阅读。 ... [详细]
  • 一切皆为文件,这个理念真酷!很好!ubuntu16.04系统备份还原迁移至新机器。亲测可用,刚刚克隆完毕。1.打包整个系统:sudosucdtarczvpfsys_backup.t ... [详细]
  • 建立项目接口文档_【学习】接口测试工具对比
    如今,接口测试工具这个市场,种类非常多,非常繁杂。国外接口测试工具巨头:postman、jmeter和loadrunner等 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 本文介绍了如何通过安装 rpm 包来使用 resize2fs 和 ext2online 工具进行系统文件的扩容。提供了详细的步骤和注意事项。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 单元测试:使用mocha和should.js搭建nodejs的单元测试
    2019独角兽企业重金招聘Python工程师标准BDD测试利器:mochashould.js众所周知对于任何一个项目来说,做好单元测试都是必不可少 ... [详细]
  • 本文通过思维导图的形式,深入解析了大型网站技术架构的核心原理与实际案例。首先,探讨了大型网站架构的演化过程,从单体应用到分布式系统的转变,以及各阶段的关键技术和挑战。接着,详细分析了常见的大型网站架构模式,包括负载均衡、缓存机制、数据库设计等,并结合具体案例进行说明。这些内容不仅有助于理解大型网站的技术实现,还能为实际项目提供宝贵的参考。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 对于以压缩包形式发布的软件,其目录中通常包含一个配置脚本 `configure`。该脚本的主要功能是确定编译所需的各项参数,如头文件的位置和链接库的路径,并生成相应的 `Makefile` 以供编译使用。通过运行此脚本,开发者可以确保软件在不同环境下的正确编译与安装。此外,该脚本还能够检测系统依赖项,进一步提高编译过程的可靠性和兼容性。 ... [详细]
author-avatar
手机用户2502918445
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有