Linux进程管理 - PRI,nice,free,uname,netstat

优先执行序 (priority, PRI)

这个 PRI 值越低代表越优先的意思。只是这个 PRI 值是由核心动态调整的, 使用者无法直接调整 PRI 值的。

由於 PRI 是核心动态调整的,我们使用者也无权去干涉 PRI !那假设你想要调整进程的优先执行序时,就得要透过 Nice 值了!

Nice 值就是上表的 NI 啦!一般来说。 PRI 与 NI 的相关性例如以下:

PRI(new) = PRI(old) + nice

只是你要特别留意到。假设原本的 PRI 是 50 。并非我们给予一个 nice = 5 ,就会让 PRI 变成 55 喔!

由于 PRI 是系统『动态』决定的。所以。尽管 nice 值是能够影响 PRI ,只是, 终于的 PRI 仍是要经过系统分析后才会决定的。

另外, nice 值是有正负的喔,而既然 PRI 越小越早被执行。 所以。当 nice 值为负值时,那么该进程就会减少 PRI 值。亦即会变的较优先被处理。此外,你必需要留意到:

nice 值可调整的范围为 -20 ~ 19 。

root 可任意调整自己或他人程序的 Nice 值,且范围为 -20 ~ 19 ;

一般使用者仅可调整自己进程的 Nice 值,且范围仅为 0 ~ 19 (避免一般用户抢占系统资源)。

一般使用者仅可将 nice 值越调越高,比如本来 nice 为 5 ,则未来仅能调整到大於 5;

nice :新执行的命令即给予新的 nice 值

[[email protected] ~]# nice [-n 数字] command
选项与參数:
-n  :后面接一个数值,数值的范围 -20 ~ 19。

eg:用root给一个nice值为-5, 用于执行vi,并观察该进程。

原本的 bash PRI 为 80 。所以 vi 默认应为 80。只是由於给予 nice 为 -5 , 因此 vi 的 PRI 减少了!

但并不一定都是减少为75 ,由于核心还会动态调整!

renice :已存在程序的 nice 又一次调整

[[email protected] ~]# renice [number] PID
选项与參数:
PID :某个程序的 ID 啊。

eg:找出自己的bash PID,并将该PID的nice调整到10

free:观察内存使用情况

[[email protected] ~]# free [-b|-k|-m|-g] [-t]
选项与參数:
-b  :直接输入 free 时,显示的单位是 Kbytes,我们能够使用 b(bytes), m(Mbytes)
      k(Kbytes), 及 g(Gbytes) 来显示单位喔。
-t  :在输出的终于结果。显示实体内存与 swap 的总量。

eg:显示眼下系统的内存容量

uname:查阅系统与核心相关咨询

[[email protected] ~]# uname [-asrmpi]
选项与參数:
-a  :全部系统相关的资讯,包含底下的数据都会被列出来;
-s  :系统核心名称
-r  :核心的版本号
-m  :本系统的硬件名称,比如 i686 或 x86_64 等;
-p  :CPU 的类型,与 -m 类似,仅仅是显示的是 CPU 的类型!

-i  :硬件的平台 (ix86)

eg:输出系统的基本咨询

uptime:观察系统的启动时间与工作负载

netstat:追踪网络或插槽档

[[email protected] ~]# netstat -[atunlp]
选项与參数:
-a  :将眼下系统上全部的连线、监听、Socket 数据都列出来
-t  :列出 tcp 网络封包的数据
-u  :列出 udp 网络封包的数据
-n  :不以程序的服务名称。以埠号 (port number) 来显示;
-l  :列出眼下正在网络监听 (listen) 的服务。
-p  :列出该网络服务的程序 PID

eg:列出眼下系统已经创建的网络连线与unix socket状态

dmesg:分析核心产生的信息

dmesg显示的信息实在太多了。执行时一般增加管线命令来撷取须要的信息。

vmstat:侦測系统资源变化

[[email protected] ~]# vmstat [-a] [延迟 [总计侦測次数]] <==CPU/内存等资讯
[[email protected] ~]# vmstat [-fs]                      <==内存相关
[[email protected] ~]# vmstat [-S 单位]                  <==配置显示数据的单位
[[email protected] ~]# vmstat [-d]                       <==与磁碟有关
[[email protected] ~]# vmstat [-p 切割槽]                <==与磁碟有关
选项与參数:
-a  :使用 inactive/active(活跃与否) 代替 buffer/cache 的内存输出资讯;
-f  :启动到眼下为止,系统复制 (fork) 的程序数;
-s  :将一些事件 (启动至眼下为止) 导致的内存变化情况列表说明。
-S  :后面能够接单位,让显示的数据有单位。比如 K/M 代替 bytes 的容量;
-d  :列出磁碟的读写总量统计表
-p  :后面列出切割槽。可显示该切割槽的读写总量统计表

eg:统计眼下主机CPU状态,每秒1次,共计3次

内存栏位 (procs) 的项目分别为:

r :等待执行中的进程数量。b:不可被唤醒的进程数量。

这两个项目越多,代表系统越忙碌 (由于系统太忙。所以非常多进程就无法被执行或一直在等待而无法被唤醒之故)。

内存栏位 (memory) 项目分别为:

swpd:虚拟内存被使用的容量。 free:未被使用的内存容量。 buff:用於缓冲内存; cache:用於快速缓存。 这部份则与 free 是同样的。

内存置换空间 (swap) 的项目分别为:

si:由磁碟中将程序取出的量。 so:由於内存不足而将没用到的进程写入到磁碟的 swap 的容量。 假设 si/so 的数值太大。表示内存内的数据经常得在磁碟与主内存之间传来传去,系统效能会非常差!

磁碟读写 (io) 的项目分别为:

bi:由磁碟写入的区块数量; bo:写入到磁碟去的区块数量。

假设这部份的值越高,代表系统的 I/O 很忙碌。

系统 (system) 的项目分别为:

in:每秒被中断的进程次数; cs:每秒钟进行的事件切换次数;这两个数值越大。代表系统与周边设备的沟通很频繁! 这些周边设备当然包含磁碟、网络卡、时间钟等。

CPU 的项目分别为:

us:非核心层的 CPU 使用状态; sy:核心层所使用的 CPU 状态; id:闲置的状态; wa:等待 I/O 所耗费的 CPU 状态; st:被虚拟机器 (virtual machine) 所盗用的 CPU 使用状态。

eg:系统上面全部的磁盘读写状态

时间: 2024-10-07 01:11:59

Linux进程管理 - PRI,nice,free,uname,netstat的相关文章

linux进程管理(四)

[教程主题]:进程管理 [1]进程介绍 程序和进程 程序是为了完成某种任务而设计的软件,比如OpenOffice是程序.什么是进程呢?进程就是运行中的程序. 一个运行着的程序,可能有多个进程. 比如自学it网所用的WWW服务器是apache服务器,当管理员启动服务后,可能会有好多人来访问,也就是说许多用户来同时请求httpd服务,apache服务器将会创建有多个httpd进程来对其进行服务. 进程分类: 进程一般分为交互进程.批处理进程和守护进程三类. 值得一提的是守护进程总是活跃的,一般是后台

linux进程管理命令总结

linux进程管理的相关命令: 1.pstree  --以树状形式显示当前系统进程,和命令tree相似. 2.ps命令 命令格式:ps [options] 常用组合:aux: u:以用户为中心组织的进程状态信息显示 a:与终端相关的进程 x:与终端无关的进程 #ps aux USER : 用户名 PID : 进程号 %CPU :占用的cpu百分比 %MEM  :内存的使用率 VSZ :  virtual memory size ,虚拟内存集 RSS : resident size ,常驻内存集

Linux 进程管理命令ps、top、kill、nice、fg、bg、vmstat、uptime

Linux 进程管理命令: ps process status 查看进行相关信息: system 风格:sysv  有-线引导 BSD风格:BSD ps a:显示所有跟终端有关的进程 u:显示更详细的字段 x:显示所有跟终端无关的进程 常用 ps ax 进程分类: 终端启动(相关)的进程:用户通过命令行启动的进程 跟终端无关的进程:系统启动就自己启动 进程状态: D: 表示不可中断的睡眠 R:表示就绪态 S:表示可中断的睡眠 T:停止 Z:僵死态 <:高优先级进程 N:低优先级进程 +:前台进程

Linux进程管理.md

目录 Linux进程管理 1.进程基本概述 1.1.进程的组成部分 1.2.进程的环境 1.3.进程的产生 1.4.进程的分类 2.进程状态 2.1.Linux进程状态 3.2.进程优先级 3.3.相对优先级 3.4.nice级别与权限 3.5.进程优先级调整 4.进程管理命令 4.1.ps 4.2.pstree 4.3.pgrep 4.4.pidof 4.5.vmstat 5.控制作业 5.1.作业与会话 5.2.作业分类 5.3.在后台运行作业 6.进程间通信 7.使用信号控制进程 8.监控

Linux进程管理与调度-之-目录导航【转】

转自:http://blog.csdn.net/gatieme/article/details/51456569 版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme 目录(?)[-] 项目链接 进程的描述 进程的创建 进程的加载与运行 进程的退出 进程的调度 调度普通进程-完全公平调度器CFS 日期 内核版本 架构 作者 GitHub CSDN 2016-07-21 Linux-4.6 X86 & arm gatieme

Linux进程管理简谈

Linux系统进程管理简谈 进程是什么? 简单来说进程是一个正在执行的程序的一个副本,存在生命周期,有段指令和代码在不断运行. linux内核存储信息的固定格式:task struct 进程的相关信息存储在链表中 多个任务的task struct组件的链表:task list 进程的创建:父进程创建子进程(内核创建init进程,剩余一切进程有init及其子进程进程创建) 父进程创建子进程时向内核调用fork()来创建子进程并且通过调用clone()复制父进程的信息给子进程 Linux进程的优先级

linux进程管理(5)---进程消亡

一.目的 本文将讲述进程是如何消亡的.一个进程既有父进程又有子进程,因此进程消亡时,既要通知父进程,也要安排好子进程. 当前进程消亡时主要做了三件大事:释放当前进程占用的资源:为当前进程的子进程重新寻找"养父":通知当前进程的父进程,释放当前进程剩下的资源. 当前进程释放掉大多数进程资源后,只保留内核栈.structtask_struct数据结构:剩下的资源由父进程负责释放. linux调用sys_exit().sys_wait4()实现进程的消亡,代码可以在kernel/exit.c

Linux性能及调优指南(翻译)之Linux进程管理

译文如下:1.1 Linux进程管理 进程管理是操作系统的最重要的功能之一.有效率的进程管理能保证一个程序平稳而高效地运行. Linux的进程管理与UNIX的进程管理相似.它包括进程调度.中断处理.信号.进程优先级.上下文切换.进程状态.进度内存等. 在本节中,我们将描述Linux进程管理的基本原理的实现.它将更好地帮助你理解Linux内核如何处理进程及其对系统性能的影响. 1.1.1 什么是进程?一个进程是一个运行在处理器的程序的一个实例.该进程使用Linux内核能够处理的任何资源来完成它的任

Linux进程管理知识整理

Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) TASK_INTERRUPTIBLE(可中断等待状态) TASK_UNINTERRUPTIBLE(不可中断等待状态) TASK_STOPPED(进程被其它进程设置为暂停状态) TASK_TRACED(进程被调试器设置为暂停状态) TASK_DEAD(退出状态) 进程由于所需资源得不到满足,从而进入