【Linux】进程的挂起状态




在这里插入图片描述



挂起状态的前提条件


内存资源严重不足 时,操作系统会考虑将部分进程换出到磁盘上的交换空间(swap 分区)。这通常发生在以下几种情况下:

  1. 内存不足

    • 当物理内存接近耗尽时,操作系统会选择将一部分暂时不需要执行的进程或页面换出到磁盘上的交换空间。

  2. 进程阻塞

    • 当内存资源不足时,若有进程处于阻塞状态(如等待 I/O 操作完成),这些进程在短时间内不会占用 CPU 资源,因此可以暂时从内存中移出,释放内存空间。

注意前提:当内存资源不足时,才会启动挂起,否则没必要,因为和磁盘的IO交互较为耗时,频繁的换入换出操作会对系统性能产生影响。


Swap 分区的概念和作用


1、Swap 分区通常是一块磁盘空间,用于临时存储被换出的内存页或进程状态。
2、Swap 分区的大小一般建议设置为物理内存的大小,或者是物理内存的 1.5 倍到 2 倍,以应对不同场景下的内存需求。


换出换回的过程


  1. 换出(Swap Out)
    • 当内存紧张时,操作系统会选择将一部分阻塞状态的进程或空闲的内存页换出到磁盘上的 swap 分区。
    • 换出的过程涉及将进程的状态和数据写入磁盘,这会消耗一定的 I/O 时间。
  2. 换回(Swap In)
    • 当阻塞的进程需要恢复执行(例如,当外设有数据响应时),操作系统会将该进程从 swap 分区换回到内存中。
    • 换回的过程涉及从磁盘读取进程的状态和数据,同样会消耗一定的 I/O 时间。


阻塞挂起状态


当一个阻塞状态的进程被换出到 swap 分区时,它的状态会从“阻塞”转变为“阻塞挂起”状态。


时间换取空间的过程


时间换取空间:进程和磁盘swap分区之间的 换出换回的过程 确实会消耗一定的时间,但它可以腾出宝贵的内存空间,使系统能够在有限的物理内存条件下支持更多的进程运行。



在真实的生产环境中


在实际的生产环境中,特别是在高性能和关键业务的应用场景下,通常会权衡时间和空间的成本,一般会将该 swap分区功能关闭掉,优先选时间,而不是这一点点内存

此时,可能会通过直接增加服务器的物理内存容量,或者采用分布式架构,将负载分散到多个服务器上(分担运行压力)



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/896522.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

明源云ERP报表服务GetErpConfig.aspx接口存在敏感信息泄露

一、漏洞简介 在访问 /service/Mysoft.Report.Web.Service.Base/GetErpConfig.aspx?erpKeyerp60 路径时,返回了包含敏感信息的响应。这些信息包括但不限于数据库连接字符串、用户名、密码、加密密钥等。这些敏感信息的暴露可能导致以下风险:数据库访问…

Linux 常用命令(一)

目录 ll命令:显示指定文件的详细属性信息 ls:显示目录中文件及其属性信息 mkdir命令:创建目录文件 touch:创建空文件与修改时间戳 rm命令:删除文件或目录 cd命令:切换目录 chmod命令:改变…

llama.cpp 去掉打印,只显示推理结果

llama.cpp 去掉打印,只显示推理结果 1 llama.cpp/common/log.h #define LOG_INF(...) LOG_TMPL(GGML_LOG_LEVEL_INFO, 0, __VA_ARGS__) #define LOG_WRN(...) LOG_TMPL(GGML_LOG_LEVEL_WARN, 0, __VA_ARGS__) #define LOG_ERR(…

docker部署es与kibana Mac

1. 创建网络 神一样的链接,不用谢: 1.Docker命令链接:黑马整理的docker速成链接 2.jdk11链接:jdk11 3.神资源链接:别点,要脸 注意:es需要先安装jdk环境,推荐jdk11,否则…

MySQL企业常见架构与调优经验分享

文章目录 一、选择 PerconaServer、MariaDB 还是 MYSQL二、常用的 MYSQL 调优策略三、MYSOL 常见的应用架构分享四、MYSOL 经典应用架构 观看学习课程的笔记,分享于此~ 课程:MySQL企业常见架构与调优经验分享 mysql官方优化文档 一、选择 PerconaServer、…

基于SSM的的水电管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

Keil8051 下载与安装

文章目录 下载方法(一)官网下载(二)百度网盘下载 安装步骤小技巧 下载方法 (一)官网下载 1,进入官网:https://www.keil.com/。 2,单击“download”按钮,进…

如何快速解决游戏提示系统中的emp.dll缺失问题

emp.dll是一个动态链接库(Dynamic Link Library, DLL)文件,这类文件在Windows操作系统中扮演着至关重要的角色。它们包含了可由多个程序同时使用的代码和数据,其主要目的是实现模块化,以便于程序的更新和动态链接。emp…

在VMware上创建虚拟机以及安装Linux操作系统,使用ssh进行远程连接VMware安装注意点 (包含 v1,v8两张网卡如果没有的解决办法)

一,VMware上创建虚拟机 1.VMware下载 1)点击VMware官网进入官网 网址:VMware by Broadcom - Cloud Computing for the EnterpriseOptimize cloud infrastructure with VMware for app platforms, private cloud, edge, networking, and security.https…

语言/图像/视频模型一网打尽!BigModel大模型开放平台助力开发者轻松打造AI新应用!

2024年8⽉28⽇,在ACM SIGKDD(国际数据挖掘与知识发现⼤会,KDD)上会议现场,智谱AI重磅推出了新⼀代全⾃研基座⼤模型 GLM-4-Plus、图像/视频理解模型 GLM-4V-Plus 和⽂⽣图模型 CogView3-Plus。这些新模型,已…

数据驱动,漫途能耗管理系统打造高效节能新生态!

在我国能源消耗结构中,工业企业所占能耗比例相对较大。为实现碳达峰、碳中和目标,工厂需强化能效管理,减少能耗与成本。高效的能耗管理系统通过数据采集与分析,能实时监控工厂能源使用及报警情况,为节能提供数据。构建…

梦熊十三连测题解

加减乘除 1.通过造样例可知:注意到两类操作并不会改变单调性,即对于任意 x≤y,在操作后仍然满足 x≤y。 2.所以我们就可以将原序列升序排序,分别通过二分找出最大和最小的下标。 3.时间复杂度:O(n*)。 代码如下&am…

android11 usb摄像头添加多分辨率支持

部分借鉴于:https://blog.csdn.net/weixin_45639314/article/details/142210634 目录 一、需求介绍 二、UVC介绍 三、解析 四、补丁修改 1、预览的限制主要存在于hal层和framework层 2、添加所需要的分辨率: 3、hal层修改 4、frameworks 5、备…

漏洞挖掘JS构造新手向

前置思路文章 JS逆向混淆前端对抗 油猴JS逆向插件 JS加解密之mitmproxy工具联动Burp JS挖掘基础 伪协议 JavaScript伪协议是一种在浏览器中模拟网络请求的方法。它使用window.XMLHttpRequest对象或fetch()方法来模拟发送HTTP请求,而不是通过实际的网络请求来获…

【H2O2|全栈】JS入门知识(五)

目录 JS 前言 准备工作 数组API(一) API概念 数组常见API(一) arguments 作用域 概念 全局作用域 局部作用域 块级作用域 变量的作用域 作用域链 案例 预解析 概念 变量预解析 函数预解析 案例 对象 概念 …

MySQL 异常: “Host ‘xxx‘ is not allowed to connect to this MySQL server“

update user set host % where user root; FLUSH PRIVILEGES; 这两行代码就行

Mysql 和MongoDB用户访问权限问题

Mysql 刚给二线运维排查了一个问题,Mysql安装完可用,且可用navicat连接,项目中通过127.0.0.1去连数据库报错了。错误是access denied for user ‘root’localhost,排查思路 1. 密码是否正确 (不需要重置。到Mysql的安装目录下找…

开发规范 - mac系统1小时装机极速装机开发环境

idea 官网下载,然后想办法破解 idea必备配置 设置自动import IDEA插件安装 idea必备插件 maven helperlombokMybatisX jdk配置 jdk不用单配配置,在idea中,选择一个语言环境(jdk8/jdk11/jdk17…),然后默认下载j…

picgo的gitee图床配置

首先picgo默认没有gitee,需要装插件 然后gitee

每月洞察:App Store 和 Google Play 的主要更新

Google Play 和 App Store 的算法不断发展,定期更新和变化会显着影响其功能。对于开发人员和营销人员来说,跟上这些变化至关重要,因为它们会直接影响应用发现和排名。 本文将深入探讨 Google Play 和 App Store 的最新更新,解释它…