在linux下做开发,经常要用到一些管理程序的命令,如查看进程,查看内存等情况。看网络情况。如下的笔记是看书时记下一些简单常用的命令。
1)top
[root@005 fsh]#top[-d数字]|top[-bnp]
选项与参数:
-d :后面可以接秒数,就是整个程序画面更新的秒数。预设是5秒;
-b :以批次的方式执行top,还有更多的参数可以使用喔!
 
通常会搭配数据流重导向来将批次的结果输出成为档案。
-n :与-b搭配,意义是,需要进行几次top的输出结果。
-p :指定某些个PID来进行观察监测而已。
 
在top执行过程当中可以使用的按键指令:
?:显示在top当中可以输入的按键指令;
P:以CPU的使用资源排序显示;
M:以Memory的使用资源排序显示;
N:以PID来排序喔!
T:由该Process使用的CPU时间累积(TIME+)排序。
k:给予某个PID一个讯号(signal)
r:给予某个PID重新制订一个nice值。
q:离开top软件的按键。
 
2) pstree
[root@005 fsh]#pstree[-A|U][-up]
选项与参数:
-A :各程序树之间的连接以ASCII字符来连接;
-U :各程序树之间的连接以万国码的字符来连接。在某些终端接口下可能会有错误;
-p :并同时列出每个process的PID;
-u :并同时列出每个process的所属账号名称。
 
3)killall
[root@005 fsh]#killall[-iIe][commandname]
选项与参数:
-i :interactive的意思,交互式的,若需要删除时,会出现提示字符给使用者;
-e :exact的意思,表示『后面接的commandname要一致』,但整个完整的指令
不能超过15个字符。
-I :指令名称(可能含参数)忽略大小写。
 
4) Priority与Nice值
  a)priority (PRI) 值越低代表越优先的意思。这个PRI核心动态调整程序的优先级。使用者无法直接调整PRI值的。
    [root@005 fsh]# ps -l
    F S UID PID    PPID C PRI NI ADDR  SZ WCHAN TTY TIME CMD
    4 R 0     1820  7000 0 80  0   - 27024 - pts/4 00:00:00 ps
    4 S 0     7000  6975 0   0   - 27108 wait pts/4 00:00:00 bash
 
  b)由于PRI是核心动态调整的,我们使用者也无权去干涉PRI!那如果你想要调整程序的优先执行序时,
     就得要透过Nice值了!Nice值就是上表的NI啦!一般来说,PRI与NI的相关性如下:
     PRI(new)=PRI(old)+nice
 
   c)我们必须注意到
    1.nice值可调整的范围为-20~19;
    2.root可随意调整自己或他人程序的Nice值,且范围为-20~19;
    3.一般使用者仅可调整自己程序的Nice值,且范围仅为0~19(避免一般用户抢占系统资源);
    4.一般使用者仅可将nice值越调越高,例如本来nice为5,则未来仅能调整到大于5;
 
   d)调整某个程序的优先执行序
    1.一开始执行程序就立即给予一个特定的nice值:用nice指令;
    2.调整某个已经存在的PID的nice值:用renice指令。
   
   e)nice
    [root@005 fsh]#nice[-n]command
    选项与参数:
    -n :后面接一个数值,数值的范围-20~19。
    如:
    范例一:用root给一个nice植为-5,用于执行vi,并观察该程序!
    [[root@005 fsh]# nice -n -5 vi &
    [1] 28923
    You have mail in /var/spool/mail/root
    [root@005 fsh]# ps -l
    F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
    4 S 0 7000 6975 0 80 0 - 27108 wait pts/4 00:00:00 bash
    4 T 0 28923 7000 0 75 -5 - 29245 signal pts/4 00:00:00 vi
    4 R 0 29121 7000 0 80 0 - 27031 - pts/4 00:00:00 ps
 
    [1]+ Stopped nice -n -5 vi
 
   f)renice:已存在程序的nice重新调整
    [root@005 fsh]#renice[number]PID
    选项与参数:
    PID:某个程序的ID啊!
 
5)free:观察内存使用情况
 [root@005 fsh]#free[-b|-k|-m|-g][-t]
选项与参数:
-b :直接输入free时,显示的单位是Kbytes,我们可以使用b(bytes),m(Mbytes)
k(Kbytes),及g(Gbytes)来显示单位喔!
-t :在输出的最终结果,显示物理内存与swap的总量。
 
一般来说,swap最好不要被使用,尤其swap最好不要被使用
超过20%以上,如果您发现swap的用量超过20%,那么,最好还是买物理内存来插吧!因为,Swap
的效能跟物理内存实在差很多,而系统会使用到swap,绝对是因为物理内存不足了才会这样做的。
 
6) uname:查阅系统与核心相关信息
[root@005 fsh]#uname[-asrmpi]
选项与参数:
-a :所有系统相关的信息,包括底下的数据都会被列出来;
-s :系统核心名称
-r :核心的版本
-m :本系统的硬件名称,例如i686或x86_64等;
-p :CPU的类型,与-m类似,只是显示的是CPU的类型!
-i :硬件的平台(ix86)
 
7)uptime:观察系统启动时间与工作负载
netstat:追踪网络或插槽文件
[root@005 fsh]#netstat-[atunlp]
选项与参数:
-a :将目前系统上所有的联机、监听、Socket数据都列出来
-t :列出tcp网络封包的数据
-u :列出udp网络封包的数据
-n :不已程序的服务名称,以埠号(portnumber)来显示;
-l :列出目前正在网络监听(listen)的服务;
-p :列出该网络服务的程序PID
 
如:
找出目前系统上已在监听的网络联机及其PID
[root@005 fsh]# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2894/nginx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1099/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1175/master
tcp 0 0 0.0.0.0:5050 0.0.0.0:* LISTEN 9605/python
tcp 0 0 0.0.0.0:5051 0.0.0.0:* LISTEN 9610/python
tcp 0 0 0.0.0.0:7100 0.0.0.0:* LISTEN 8726/nginx
tcp 0 0 0.0.0.0:93 0.0.0.0:* LISTEN 9611/python
 
8) dmesg:分析核心产生的讯息
系统在开机的时候,核心会去侦测系统的硬件,你的某些硬件到底有没有被捉到,那就与这个时候的侦测
有关。
范例一:输出所有的核心开机时的信息
[root@005 fsh]#dmesg|more
范例二:搜寻开机的时候,硬盘的相关信息为何?
[root@005 fsh]#dmesg|grep-ihd
 
9) vmstat:侦测系统资源变化
[root@005 fsh]#vmstat[-a][延迟[总计侦测次数]]<==CPU/内存等信息
[root@005 fsh]#vmstat[-fs] <==内存相关
[root@005 fsh]#vmstat[-S单位] <==设定显示数据的单位
[root@005 fsh]#vmstat[-d] <==与磁盘有关
[root@005 fsh]#vmstat[-p分割槽] <==与磁盘有关
选项与参数:
-a :使用inactive/active(活跃与否)取代buffer/cache的内存输出信息;
-f :将开机到目前为止,系统复制(fork)的程序数;
-s :将一些事件(开机至目前为止)导致的内存变化情况列表说明;
-S :后面可以接单位,让显示的数据有单位。例如K/M取代bytes的容量;
-d :列出磁盘的读写总量统计表
-p :后面列出分割槽,可显示该分割槽的读写总量统计表
 
 

linux 程序管理的更多相关文章

  1. linux 程序管理与SElinux

    此文涉及的命令:&.jobs.fg.bg.kill.nohup.ps.top.pstree.free.uname.uptime.netstat.dmesg.vmstat.fuser.lsof. ...

  2. Linux程序包管理之yum及源代码安装

    第十六章.Linux程序包管理之yum及源代码安装 目录 yum介绍 yum配置文件 yum的repo配置文件中可用的变量 yum命令的使用 使用光盘作为本地yum仓库 如何创建yum仓库 编译安装的 ...

  3. Linux程序包管理rpm与yum

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  4. linux备忘录-程序管理与SELinux

    知识点 程序与程序(Process and Program) 通过执行一条指令或程序,则可以触发一个事件,并获得一个PID.当我们需要启动一个程序时,我们是启动一个二进制文件(binary file) ...

  5. 鸟哥的linux私房菜——第十六章学习(程序管理与 SELinux 初探)

    第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的 ...

  6. 浅谈Linux内存管理机制

    经常遇到一些刚接触Linux的新手会问内存占用怎么那么多?在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,在这 ...

  7. linux内存管理

    一.Linux 进程在内存中的数据结构 一个可执行程序在存储(没有调入内存)时分为代码段,数据段,未初始化数据段三部分:    1) 代码段:存放CPU执行的机器指令.通常代码区是共享的,即其它执行程 ...

  8. Linux软件包管理

    Linux软件包管理 Linux软件包管理主要有2类:是二进制包管理.源码包管理 二进制包管理 主要有RPM和YUM两种 RPM包管理 安装 --ivh:-v ,-vv,-vvv显示的安装信息依次详细 ...

  9. 【CentOS】Linux日常管理

    /////////////////////////目录///////////////////////////////////////// 一.日常监控指标相关 1.监控系统状态命令 2.查看系统进程 ...

随机推荐

  1. 微软开源资源 NET Foundation Projects

    网络基础设施.在管理项目(管理工作)的网络基础.目前主要包括网络平台上编译通过.(“罗斯林”)以及项目的ASP.NET的家庭,都是开放的微软开放的技术来源,Inc.(MS开放技术).Xamarin贡献 ...

  2. Debian GNU/kFreeBSD是什么

    Debian GNU/kFreeBSD 是由使用GNU C语言库的GNU成员组成的基于FreeBSD内核.外加完整的Debian 软件包集合的操作系统. 它来自Debian社区,所以本质上,我们还是应 ...

  3. 泛函编程(8)-数据结构-Tree

    上节介绍了泛函数据结构List及相关的泛函编程函数设计使用,还附带了少许多态类型(Polymorphic Type)及变形(Type Variance)的介绍.有关Polymorphism的详细介绍会 ...

  4. linux下socket编程

    相关结构 //下边这两个结构定义在<sys/types.h>里 //一般的地址结构,只能用于覆盖(把其他地址转换为此类型),且只能引用该地址的sa_family字段 struct sock ...

  5. Python迭代器:捕获Generator的返回值

    但是用for循环调用generator时,发现拿不到generator的return语句的返回值.如果想要拿到返回值,必须捕获StopIteration错误,返回值包含在StopIteration的v ...

  6. js用8421码实现10进制转2进制

    今天早上突然心血来潮决定用 ''和js来撸一个进制转换.(纯属心血来潮,有兴趣的可以看看.) 我们知道,通过8421码.可以快速的得到一个10进制的2进制.如下图: 如上图所示:我们将10进制的 '1 ...

  7. Math对象常用方法汇总

    前几天翻阅<JavaScript权威指南>,看到了Math对象,于是汇总了一下. Math对象不同于其他的对象,它可以说是一个公共数学类,里面有很多数学方法,用于各种数学运算,但是Math ...

  8. 对抗静态分析——运行时修复dex

    对抗静态分析——运行时修复dex   本文来源:i春秋社区-分享你的技术,为安全加点温度 零.写在前面   这个系列本来题目想写对抗反编译,可是想想对抗反编译的这个范围有点大,总结如下 灵魂作图   ...

  9. 2015年第8本(英文第7本):the city of ember 微光城市

    书名:the City of Ember(中文名:微光城市) 作者:Jeanne DuPrau 单词数:6.2万 不重复单词数:未知 首万词不重复单词数:未知 蓝思值:未知 阅读时间:2015年4月2 ...

  10. AndroidDevTools下载地址

    Android Dev Tools官网地址:www.androiddevtools.cn http://www.androiddevtools.cn/ http://wear.techbrood.co ...