在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. 怎样实现Web控件文本框Reset的功能

    在ASP.NET开发过程序,在数据插入之后,文本框TextBox控件需要Reset.如果只有一两个文件框也许没有什么问题,如果网页上有很多文本框,你就会有点问题了.再加上某一情形,一些文本框是有默认值 ...

  2. C#中部分方法返回值类型为什么只能是void?

    这个问题答案选至<C#入门经典> 如果方法具有返回类型,那就可以作为表达式的一部分: x=Manipulate(y,z); 如果没有给部分方法提供实现代码,编译器就会在使用该方法的所有地方 ...

  3. Tomcat服务器与MyEclipse绑定

    myeclipse中eclipse添加了很多非常实用的插件,几乎包含了常用的所有应用服务器插件,其中自然包括支持各个版本的Tomcat插件. 先来看看Tomcat处理浏览器请求的过程图: 1.Tomc ...

  4. 环境搭建二 secureCRT配置

    上一篇里面讲到了虚拟机安装,以及secureCRT的远程连接.此篇文章介绍secureCRT的配置. 颜色设置 参考   http://jingyan.baidu.com/article/a681b0 ...

  5. 研究jdk关于TreeMap 红黑树算法实现

    因为TreeMap的实现方式是用红黑树这种数据结构进行存储的,所以呢我主要通过分析红黑树的实现在看待TreeMap,侧重点也在于如何实现红黑树,因为网上已经有非常都的关于红黑树的实现.我也看了些,但是 ...

  6. web安全——防火墙

    简介 用于实现服务器(Linux)的访问控制的功能的. 分硬件和软件防火墙. 主要是控制访问的流入和服务器的流出. 通过黑名单和白名单的思想来实现更细粒度的控制,这个一般结合其他的应用来定义策略实现. ...

  7. 七年IT生涯的经验教训

     七年IT生涯的经验教训[转]我在IT界也拼打了有好几年了,但是现在和别人比较起来不是很如意.从天分上来说,我在属于智商不低的人:从技术上说,几乎没有我拿不下的:从见解上看,我是很有点子看法的人. ...

  8. 删除单链表倒数第n个节点

    基本问题 如何删除单链表中的倒数第n个节点? 常规解法 先遍历一遍单链表,计算出单链表的长度,然后,从单链表头部删除指定的节点. 代码实现 /** * * Description: 删除单链表倒数第n ...

  9. HTML5中的音视频处理

    * 音视频处理 * 视频处理 * 基本内容 * 使用Flash技术处理HTML页面中的视频内容 * 包含音频.动画.网页游戏等 * 特点 * 浏览器原生不支持(IE浏览器要求安装ActiveX组件) ...

  10. 微信公共平台开发4 .net

    之前说了让微信发送给关注我们的粉丝普通的文本信息,下面我们来看看如何发送图文信息,需要注意的是这里说的是,让微信发给我们,而不是我们拍个图片发给微信处理,上传图片在以后的再讲.下面是发送图文消息的函数 ...