Linux中怎么linux查看进程状态的命令程

毕业于四川成都大学汉语言文学專业文学学士学位。 网络营销、网站运营行业10年SEO网站优化运营经验


  linux下怎么查看程序的内存使用情况,解决办法

  •   top命令是Linux下常用嘚性能分析工具能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

  •   可以直接使用top命令后查看%MEM的内容。可以选择按进程查看或者按用户查看如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:

  •   PID:进程的ID

  •   USER:进程所有者

  •   PR:进程的優先级别,越小越优先被执行

  •   VIRT:进程占用的虚拟内存

  •   RES:进程占用的物理内存

  •   SHR:进程使用的共享内存

  •   S:进程的状态S表示休眠,R表示正在运行Z表示僵死状态,N表示该进程优先值为负数

  •   %CPU:进程占用CPU的使用率

  •   %MEM:进程使用的物理内存和总内存的百分比

  •   TIME+:该进程启动后占用的总的CPU时间即占用CPU使用时间的累加值。

  •   COMMAND:进程启动命令名称

  •   P:按%CPU使用率排行

  •   M:按%MEM排行

  •   可以根据進程linux查看进程状态的命令程相关信息占用的内存情况(进程号可以通过ps查看)如下所示:

  •   其中rsz为实际内存,上例实现按内存排序由大箌小

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

    iostat 命令详细地显示了存储子系统方媔的情况你通常用iostat来监控存储子系统总体上运行状况如何,并且在用户注意到服务器运行缓慢之前提早发现输入/输出缓慢的问题相信峩,你应该在用户发现这些问题之前先发现这些问题!

    meminfo为你详细显示了内存方面的情况你通常可以使用另一个程序,比如cat和grep来访问meminfo的信息。比如说cat /proc/meminfo为你详细显示了服务器的内存在任何一个时间的使用情况。

    如果想快速了解内存的概要信息可以使用free命令。简而言之free為你提供了概要信息;meminfo为你提供了详细信息。

    mpstat命令可以报告多处理器服务器上每个可用处理器的活动情况如今,由于多核处理器这个命令适用于几乎所有服务器。mpstat还可以报告所有服务器上的处理器的平均活动情况它让你能够按照系统或按照处理器来显示总的处理器统計信息。这个概要信息可以在潜在的应用程序问题惹毛用户之前提醒你注意

    netstat与ps一样,也是Linux管理员每天都使用的Linux工具它显示了与网络有關的大量信息,比如套接口使用情况、路由、接口、协议、网络统计信息及更多信息最常用的一些选项如下:

    nmon是Nigel's Monitor的简称,这款广受欢迎嘚开源工具用来监控Linux系统的性能nmon可以监控多个子系统的性能信息,比如处理器使用率、内存使用率、运行队列的信息、磁盘输入/输出统計信息、网络输入/输出统计信息、内存分页活动和进程衡量指标然后,你可以通过curses"图形化"界面查看 nmon的实时系统衡量结果。

    想运行nmon你鈳以从外壳来启动该工具。一旦启动只要输入单键命令,就可以选择要监控的子系统比如说,想获得处理器、内存和磁盘等方面的统計信息只要分别输入c、m和d.也可以使用带-f标志的nmon,将性能统计信息保存到CSV文件中以便日后分析。

    就日常的服务器监控而言我觉得nmon是我嘚Linux系统管理工具包中最有用的一个程序。

    pmap命令用来报告服务器的进程所使用的内存量你可以用这个工具来确定服务器上哪些进程被分配叻内存、这些进程中有谁在大量使用内存。

    ps和pstree这两个命令是Linux系统管理员的两个得力助手它们都能以列表的形式显示所有目前在运行的进程。ps可以告诉你服务器的程序在使用多少的内存和处理器时间pstree显示的信息比较少,但着重表明了哪些进程是其他进程的子进程掌握了這些信息,你就能发现失控的进程然后用 Linux"不留活口"的kill命令,来终止这些进程

    sar程序好比是系统监控工具领域的瑞士军刀。sar命令实际上由彡个程序组成:显示数据的sar、收集数据的sa1以及保存数据的sa2.一旦安装完毕sar就能生成详细的概要信息,显示处理器使用率、内存分页活动、網络输入/输出和传输方面的统计信息、进程创建活动以及磁盘设备活动sar和 nmon的一大区别在于,前者更适合长期监控系统我觉得nmon则比较适匼帮助我快速查看服务器的运行状况。

    strace 经常被认为是程序员的调试工具但它的功用不仅仅用来调试。它可以截获和记录进程调用系统的凊况因而,它是一个实用的诊断、教学和调试工具比如说,你可以使用strace来查出某个程序在启动时实际上使用哪个配置文件

    不过strace的确囿一个缺陷。它在检查某个进程时该进程的性能会一落千丈。因而只有在我已经有极其充分的理由认为某个程序引起问题的情况下,財使用strace.

    tcpdump是一个简单而可靠的网络监控实用工具其基本的协议分析功能让你能够粗略查看网络上的情况。不过想真正深入分析网络方面的凊况你应该使用Wireshark(下面有介绍)。

top命令显示了活动进程方面的情况默认情况下,它显示了服务器上运行的最消耗处理器的任务而且烸5秒钟就刷新一次列表。你还可以按多个标准对进程进行分类比如PID(进程ID);年限,最新的列在最前面;时间按累计时间;以及驻留內存使用情况和自启动以来一直使用处理器的总时间。我觉得它提供了一种快速而简易的方法便于查看有没有进程开始即将失控、带来問题。

    uptime可用来查看某台服务器运行了多久、有多少个用户登录上去它还显示了服务器平均负载的概要信息。负载的最佳值是1或更小这意味着每个进程可以立即访问处理器、不存在处理器周期丢失的情况。

    大体上来说你可以使用vmstat来监控虚拟内存方面的情况。Linux不断使用虚擬内存以获得最佳的存储性能。

如果你的应用程序在占用过多的内存你就会遇到频繁被换出内存(page-out)的情况——即程序从内存进入到系统硬驱上的交换空间。你的服务器可能会进入到这个阶段:花在管理内存分页上的时间比花在运行应用程序上的时间还多——这种情况被称为抖动(thrashing)当你的电脑抖动时,性能就一落千丈Vmstat可以显示平均的数据或实际样本,可以帮助你发觉大量耗用内存的程序和进程鉯免它们导致服务器运行起来如同蜗牛缓行。

    Wireshark之前名为Ethereal(而且现在仍经常这么叫)是tcpdump的同类工具,不过它更为高级拥有先进得多的协議分析和报告功能。Wireshark既有GUI界面又有外壳界面。如果你从事专业级的网络管理工作只能使用ethereal.而如果你在使用 Wireshark/ethereal,我强烈建议阅读Chris Sander所着的《實用数据包分析》(Practical Packet Analysis)该书深入浅出地介绍了如何最充分地利用这款实用程序。

你可以使用ps命令它能显示当前運行中进程的相关信息,包括进程的PIDLinux和UNIX都支持ps命令,显示所有运行中进程的相关信息ps命令能提供一份当前进程的快照。如果你想状态鈳以自动刷新可以使用top命令。

输入下面的ps命令显示所有运行中的进程:

a:显示终端中包括其它用户的所有进程

x:显示无控制终端的进程

任务:查看系统中的每个进程。

任务:查看非root运行的进程

任务:查看用户vivek运行的进程

top命令提供了运行中系统的动态实时视图在命令提礻行中输入top:

按q退出,按h进入帮助

任务:显示进程的树状图。

pstree以树状显示正在运行的进程树的根节点为pid或init。如果指定了用户名进程樹将以用户所拥有的进程作为根节点。

任务:使用ps列印进程树

任务:将进程快照储存到文件中

使用pgrep命令pgrep能查找当前正在运行的进程并列絀符合条件的进程ID。例如显示firefox的进程ID:

下面命令将显示进程名为sshd、所有者为root的进程

htop是一个类似top的交互式进程查看工具,但是可以垂直和沝平滚动来查看所有进程和他们的命令行进程的相关操作(killing,renicing)不需要输入PID要安装htop输入命令:

在命令提示行中输入htop:

atop是一个用来查看Linux系统負载的交互式监控工具。它能展现系统层级的关键硬件资源(从性能角度)的使用情况如CPU、内存、硬盘和网络。

它也可以根据进程层级的CPU和內存负载显示哪个进程造成了特定的负载;如果已经安装内核补丁可以显示每个进程的硬盘和网络负载输入下面的命令启动atop:


我要回帖

更多关于 linux查看进程状态的命令 的文章

 

随机推荐