IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Process Scheduling

共 2 篇相关文章

IT 累计浏览 4,607

Iowait的成因、对系统影响及对策

这篇技术文章深入剖析了Linux系统中iowait的产生机制,从现象追踪到内核源码,揭示了这一指标背后的完整逻辑。 文章首先厘清概念,指出iowait的产生需要同时满足两个条件:有进程因I/O阻塞,且当前CPU上没有其他可运行的进程,导致CPU只能执行空闲任务。随后,作者引导读者从`vmstat`命令看到的表象,深入到`/proc/stat`文件的数据来源,并一路追到内核代码。 核心亮点在于对内核函数`account_system_time`的分析。文章通过代码指出,只有当`rq->nr_iowait > 0`(有进程等待I/O)且`p == rq->idle`(当前CPU在空闲)时,这段CPU时间才会被计入iowait。而引发这一切的源头,则是`io_schedule`和`io_schedule_timeout`这两个函数。文章进一步使用SystemTap编写脚本进行实际验证,通过在高负载引擎服务上追踪这些函数的调用栈,清晰展示了I/O等待的具体发生场景。 作者通过理论分析与实战验证相结合的方式,完整展现了iowait从现象到根源的追踪过程,让抽象的概念变得具体可感。

IT 累计浏览 2,554

linux作业管理学习笔记

这篇讲的是在Linux字符界面下如何高效管理多个并行任务。作者从日常操作对比出发,点出了Windows图形界面与Linux命令行环境在任务切换上的差异:前者可以轻松最小化窗口,后者则需要借助作业管理命令来实现类似效果。 文章聚焦两个最实用的操作:如何让命令在后台直接运行,以及如何将正在执行的前台任务暂停并调回后台。通过具体示例演示,读者能立刻掌握用`&`符号启动后台任务的方法,并理解返回信息中作业号与PID的含义。针对后台任务仍可能干扰屏幕输出的问题,文章进一步展示了如何用重定向将stdout和stderr妥善保存到文件。 对于已经处于前台的任务(比如在vi编辑中),作者演示了用`ctrl+z`快捷键将其暂停并转为后台作业的完整过程。这些技巧特别适合需要同时处理编译、备份、日志查看等多个任务的Linux用户,让命令行操作也能拥有类似多任务窗口的灵活性。