`
shinfocom
  • 浏览: 1220677 次
文章分类
社区版块
存档分类
最新评论

Linux系统管理:Linux要精于管理之用进程管理

 
阅读更多

进程:即process,由于系统的资源是有限的,所以要合理的分配有限的资源,这也是需要进程管理的原因。

进程的资源: CPU一般是命令的处理。

内存 32bit的CPU所能支持的最大内存为4G。

一个进程可以理解为一个程序,进程与进程在内存中不知道对方的存在,在LINUX里进程调度(scheduling)是内核中非常重要的一个系统。举个例子来解释下进程之间的调度。

对于FTP服务器,要经常的读写,属于I/O密集型,而高清电影则需要解码,所以需要占用CPU较大的资源。这里引入进程优先级的概念,比如一边看电影,一边聊QQ,想象一下,如果CPU全力解码,是不是不会延迟处理键盘的输入信息? 这时候,CPU尽量给电影,但是QQ的优先级更高,在这里,QQ的I/O被缩短了,但是相应的优先级别更高了,这也是可以一边聊QQ一边看电影的原因。

进程有限级分为:静态优先级和动态优先级,在LINUX中用数值分别代表他们的优先级,数值越小优先级越高。

静态优先级:100~139,可以手动调整,有一个数值nice,专门用来表示可以增加或减少优先级数值的大小。

动态优先级:0~99 被称为实时优先级,动态优先级永远大于静态优先级

nice值的范围为-20~19,普通用户只能调高自己的nice值,只有root用户有权调低。

调整NICE值命令

nice -n 6 COMMAND //只有管理员才可以降
renice : 对已经启动过的进程调整nice值
renice N PID //打算将nice调整到几

#为什么叫nice值,可以这样理解,一个进程优雅的把自己的资源让给了别的进程,这个动作很优雅(nice)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

查看进程的命令ps:

ps命令由于当时UNIX两大阵营的分隔,各自出现了一种书写风格 :sys V风格(无-)和BSD风格(有-)
ps : process state
-e show all process
a 和终端无关的进程
x 和终端有关的进程
-u 显示进程发起用户
-F 显示额外信息你
-f 显示完整信息
j 以作业的方式显示
h 显示进程间的关系
o 自定义显示一方面信息
pstree 显示当前进程数

常用的组合
ps -eo pid //%cpu,comm
ps eF
ps -ejh
ps axjf
ps aux //最常用的ps命令

ps里的各项数值说明

PID:进程号 PPID:父进程TTY终端设备STAT:程序运行状态 RRS:实际内存占用 VSZ:虚拟内存占用

对于STAT分为:运行态 running
就绪态 ready I/O完成
停止态 stopped 必须管理员手动唤醒
睡眠态 sleep 等待用户输入数据或者正在读取硬盘数据
sleep不可以直接进入running
sleep: 不可中断 uninterruptible sleep
可中断 interruptible sleep
D:不可中断的睡眠
R:正在运行或准备好运行
R:可中断的睡眠
T:停止态
Z:Zombie僵尸态

< : 高优先级进程
N : 低优先级进程
+ : 属于某一个前台进程组的进程
s :某一个进程组的leader进程
l :多线程的进程

成为僵尸进程的原因 : 1 进程执行完了没有释放内存
2 进程正在释放内存(正常)

进程的有趣现象 : linux里父进程回收子进程:白发人送黑发人
孤儿进程orphin:父进程死了,子进程还存在
init进程负责回收orphin,它是一切进程的父进程,所有的进程都是通过复制它而来

分享到:
评论

相关推荐

    Linux系统管理 学习资料之精华

    ### Linux系统管理学习资料之精华知识点汇总 #### 一、Linux系统概述与版本介绍 - **Linux起源与发展:** - Linux系统自1991年由芬兰学生Linus Torvalds开发以来,迅速成为了全球范围内广泛应用的操作系统之一。 ...

    linux 系统管理技术手册

    根据提供的信息,我们可以总结出以下关于“Linux系统管理技术手册”的相关知识点: ### Linux系统管理技术手册概述 “Linux系统管理技术手册”是一份全面覆盖Linux系统管理领域的指南性文档。该手册旨在为Linux...

    从0写自己的Linux x86操作系统课程

    ### 从0写自己的Linux x86操作系统课程 #### 知识点概览 本课程旨在教授学习者如何从零开始构建一个基于x86架构的Linux操作系统。它不仅覆盖了理论知识,还提供了实际操作的经验,非常适合那些对底层计算机系统、...

    linux操作系统内核实习

    《Linux操作系统内核实习》这本书是深入理解Linux内核的宝贵资源,对于想要在IT行业中专精于Linux领域的读者来说,是一本不可多得的教材。Linux内核是开源操作系统的核心,它负责管理系统的硬件资源,提供基础服务,...

    计算机各类笔试题 C#信息管理系统范例精选 Linux必学的60个命令 Linux基本安装操作指南PPT 仓储管理系统源码 WuLiuSys2

    标题中的内容涵盖了多个IT领域的知识点,包括编程语言(C#)、操作系统(Linux)、信息系统管理以及实际项目源码(仓储管理系统和WuLiuSys2)。接下来,我们将详细探讨这些领域的重要知识点。 首先,我们来看看...

    linux命令大全+Linux应用技术精华

    在IT行业中,Linux系统是许多专业开发者和系统管理员不可或缺的工具。它以其开源、稳定和高效的特点,广泛应用于服务器、云计算、嵌入式设备等多个领域。对于初学者来说,掌握Linux命令行操作和应用技术是入门的基础...

    Linux精华 Linux命令

    在IT领域,Linux操作系统是开发者、系统管理员以及技术爱好者的重要工具。它以其开源、免费、稳定和可定制性而闻名。"Linux精华 Linux命令"这本书深入浅出地讲解了Linux系统中的各种命令,这对于初学者而言是入门和...

    linux面试题目精选

    面试中涉及Linux的知识点涵盖了操作系统的基础概念、文件系统、设备管理、进程控制、网络配置、系统安全等多个方面。 1. **文件系统**:在Linux中,一切皆文件,包括设备。文件系统通过i节点(inode)来标识和管理...

    新东方Linux培训精品教程

    Linux是世界上最受欢迎的开源操作系统之一,它被广泛应用于服务器、云计算、嵌入式设备和桌面环境。新东方作为知名的教育机构,提供了丰富的Linux培训课程,旨在帮助初学者和专业人士掌握这个强大系统的精髓。本教程...

    Linux多线程服务端编程:使用muduo C++网络库

    本书主要讲述采用现代C++ 在x86-64 Linux 上编写多线程TCP 网络服务程序的主流常规技术,重点讲解...掌握一种进程间通信方式和一种多线程网络编程模型就足以应对日常开发任务,编写运行于公司内网环境的分布式服务统。

    Linux性能调优命令精华

    在IT领域,Linux系统因其稳定性和可定制性而被广泛应用于服务器、云计算和嵌入式设备。对于系统管理员和开发者来说,了解并掌握Linux性能调优命令是至关重要的技能。"Linux性能调优命令精华"这个主题涵盖了在优化...

    linux入门之精华材料

    Linux内核负责系统的核心功能,如进程管理、内存管理、文件系统和网络协议等。Shell是用户与操作系统交互的接口,例如Bash是最常用的shell之一,提供了命令行解释和脚本编写能力。 了解基本概念后,你需要掌握常见...

    Linux入门教程(精华基础版)

    Linux是一种开源、免费的操作系统,它以其强大的稳定性和灵活性在全球范围内广泛应用于服务器、桌面环境以及各种嵌入式设备中。本教程将带你走进Linux的世界,了解它的基本概念、常用命令行操作以及日常维护技巧。 ...

    精品专题(2021-2022年收藏)2020-2021年收藏2016Linux程序设计复习题资料.doc

    15. 内核子系统:内核主要包括进程管理系统、内存管理系统、I/O管理系统和文件管理系统。 16. 内核配置:当硬件发生变化时,系统管理员需要进行内核配置。 17. 网络配置:netconfig程序用于配置网络,包括主机名、...

    Linux 教程精华

    6. **软件包管理**:不同Linux发行版有不同的软件包管理系统,如Ubuntu的`apt`,Fedora的`dnf`。学习如何搜索、安装、更新和卸载软件。 7. **进程管理**:了解`ps`、`top`、`kill`等命令用于监控和控制进程,以及`...

    SD大会精品讲座:Linux系统下的高性能系统设计

    ### Linux系统下的高性能系统设计 #### 一、引言 在当今高度数字化的世界里,无论是企业还是个人开发者,都在追求更高性能、更可靠且更具扩展性的系统设计。尤其是在Linux/Unix这样的开源操作系统环境下,如何有效...

Global site tag (gtag.js) - Google Analytics