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 值
| [root@www ~]# nice [-n 数字] command 选项与参数: -n :后面接一个数值,数值的范围 -20 ~ 19。 | 
eg:用root给一个nice值为-5, 用于运行vi,并观察该进程。
原本的 bash PRI 为 80 ,所以 vi 默认应为 80。不过由於给予 nice 为 -5 , 因此 vi 的 PRI 降低了!但并不一定都是降低为75 ,因为核心还会动态调整!
renice :已存在程序的 nice 重新调整
| [root@www ~]# renice [number] PID 选项与参数: PID :某个程序的 ID 啊! | 
eg:找出自己的bash PID,并将该PID的nice调整到10
free:观察内存使用情况
| [root@www ~]# free [-b|-k|-m|-g] [-t]
选项与参数:
-b  :直接输入 free 时,显示的单位是 Kbytes,我们可以使用 b(bytes), m(Mbytes)
      k(Kbytes), 及 g(Gbytes) 来显示单位喔!
-t  :在输出的最终结果,显示实体内存与 swap 的总量。
 | 
eg:显示目前系统的内存容量
uname:查阅系统与核心相关咨询
| [root@www ~]# uname [-asrmpi] 选项与参数: -a :所有系统相关的资讯,包括底下的数据都会被列出来; -s :系统核心名称 -r :核心的版本 -m :本系统的硬件名称,例如 i686 或 x86_64 等; -p :CPU 的类型,与 -m 类似,只是显示的是 CPU 的类型! -i :硬件的平台 (ix86) | 
eg:输出系统的基本咨询
uptime:观察系统的启动时间与工作负载
netstat:追踪网络或插槽档
| [root@www ~]# netstat -[atunlp] 选项与参数: -a :将目前系统上所有的连线、监听、Socket 数据都列出来 -t :列出 tcp 网络封包的数据 -u :列出 udp 网络封包的数据 -n :不以程序的服务名称,以埠号 (port number) 来显示; -l :列出目前正在网络监听 (listen) 的服务; -p :列出该网络服务的程序 PID | 
eg:列出目前系统已经创建的网络连线与unix socket状态
dmesg:分析核心产生的信息
dmesg显示的信息实在太多了,运行时一般加入管线命令来撷取需要的信息。
vmstat:侦测系统资源变化
| [root@www ~]# vmstat [-a] [延迟 [总计侦测次数]] <==CPU/内存等资讯 [root@www ~]# vmstat [-fs] <==内存相关 [root@www ~]# vmstat [-S 单位] <==配置显示数据的单位 [root@www ~]# vmstat [-d] <==与磁碟有关 [root@www ~]# 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:系统上面所有的磁盘读写状态
Linux进程管理 - PRI,nice,free,uname,netstat的更多相关文章
- Linux—进程管理
		Linux 进程管理 1.进程管理介绍 1.1 什么是进程? 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. 简而言之 ... 
- Linux进程管理子系统分析【转】
		本文转载自:http://blog.csdn.net/coding__madman/article/details/51298732 Linux进程管理: 进程与程序: 程序:存放在磁盘上的一系列代码 ... 
- 12个Linux进程管理命令介绍(转)
		12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国 作者:Linux [字体:大 中 小] 执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ... 
- Linux进程管理知识整理
		Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) ... 
- Linux性能及调优指南(翻译)之Linux进程管理
		本文为IBM RedBook的Linux Performanceand Tuning Guidelines的1.1节的翻译原文地址:http://www.redbooks.ibm.com/redpap ... 
- Linux进程管理专题
		Linux进程管理 (1)进程的诞生介绍了如何表示进程?进程的生命周期.进程的创建等等? Linux支持多种调度器(deadline/realtime/cfs/idle),其中CFS调度器最常见.Li ... 
- [转帖]十二 个经典 Linux 进程管理命令介绍
		https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看. 随笔- 109 ... 
- Linux进程管理 (1)进程的诞生
		专题:Linux进程管理专题 目录: Linux进程管理 (1)进程的诞生 Linux进程管理 (2)CFS调度器 Linux进程管理 (3)SMP负载均衡 Linux进程管理 (4)HMP调度器 L ... 
- Linux进程管理 (2)CFS调度器
		关键词: 目录: Linux进程管理 (1)进程的诞生 Linux进程管理 (2)CFS调度器 Linux进程管理 (3)SMP负载均衡 Linux进程管理 (4)HMP调度器 Linux进程管理 ( ... 
随机推荐
- 大数据基础知识问答----hadoop篇
			handoop相关知识点 1.Hadoop是什么? Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速 ... 
- linux下的环境变量
			环境变量有时候要查找,但是经常忘记有哪些文件,现在做一个总结: /etc/profile 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/e ... 
- Effective C++ ——实现
			条款26:尽可能延后变量定义式的出现时间 当你定义一个变量的时候就要保证这个变量能够在程序中使用到,不要定义无意义的变量,这样就要求我们最好是在变量使用到的时候才做定义,因为如果一个变量定义了却不使用 ... 
- Android Studio 不得不知的20大快捷键
			如何进入设置快捷键的界面: Android Studio -> References -> Keymap 使用的Keymaps为 Eclipse(Mac OS X)如下图所示: 1 展开和 ... 
- ubuntu16.04主题美化和软件推荐
			前几天把ubuntu从15.10更新到了16.10,在网上看到有很多直接更新出问题的,正好赶上换SSD,于是采用全新安装,之前用ubuntu的时候装软件最让人头疼了,这回又得头疼一次了!! 索性把他记 ... 
- 6.4、Android Studio的GPU Monitor
			Android Monitor包含GPU Monitor,它将可视化的显示渲染窗体的时间.GPU Monitor可以帮助你: 1. 迅速查看UI窗体生成 2. 辨别是否渲染管道超出使用线程时间 在GP ... 
- UNIX网络编程——利用recv和readn函数实现readline函数
			在前面的文章中,我们为了避免粘包问题,实现了一个readn函数读取固定字节的数据.如果应用层协议的各字段长度固定,用readn来读是非常方便的.例如设计一种客户端上传文件的协议,规定前12字节表示文件 ... 
- EBS中的采购单据状态及其控制
			 李 颖 (济南钢铁股份有限公司 装备部,山东 济南 250101) 摘 要:介绍了Oracle Purchasing模块中采购单据的管理与控制,结合实例,分析了各状态下可采取的控制活动及控制活 ... 
- ExtJS学习(一)Ext自定义类实现
			工作中项目需要extjs,所以学习一下,做个笔记防止遗忘了.以后回忆起来也方便. 首先下载extjs官网地址:http://extjs.org.cn/ 下载以后的目录结构: 先写一个入门的程序吧自定义 ... 
- ios zxing扫码问题
			在ios 中 扫瞄二维码,条形码基本有 2中第三方的库,一个是zbar 一个是zxing,zxing 在android中表现的比较出色,但是在ios 中不是很好用,扫瞄效率低,我们一般都用zbar,但 ... 
