Windows直接在任务管理器里就可以查看实时的各进程的运行情况,并且是可视化的图形界面;但是,在Linux系统下,只能通过命令来查看系统状况。下面介绍几个查看系统资源状况的命令:
一)、top命令:
在命令行模式下,键入top命令,即可以看到各个进程所占用的系统资源,包括内存、CPU、交换文件分区的使用率等等。
Top命令的运行结果大致可以分为两个部分。上半部是使一些统计的信息,包括内存和交换分区的使用情况、CPU的运行情况、进程的总数等等。在Linux系统中进程的状态主要有四种,分别为running、sleeping、stopped和zombie。其中系统管理员需要关注那些状态为zombie的进程,在Linux操作系统中叫做僵尸进程。僵尸进程就是那些父进程还没死、但是子进程却死了的进程。在Linux操作系统中,进程一般分为父进程和子进程。某个进程A可能会调用另外一个进程B。此时这个进程A就叫做父进程,而进程B就叫做子进程。由于一些意外的情况,子进程运行已经停止,但是父进程却还不知道子进程早已停止运行,还在那边傻傻的等待着子进程返回运行结果。由于子进程没有返回结果,则父进程可能一直会在那边等待。从而导致系统性能的下降。如果有僵尸进程的话,首先要做的就是结束父进程(有时候还需要查看这个父进程打开的其他子进程运行情况),以释放其占用的系统资源。其次如果这种情况发生的比较频繁时,则系统管理员就需要分析到底是什么原因导致这种情况发生的。找到原因后要采取积极的措施。
使用技巧:
1,排序:在top命令的显示结果中,默认情况下是按照CPU的使用率来进行排序的。若要改变top命令结果的排序顺序,则可以按m键来按内存使用率进行排序;
2,特定用户:需要查看特定帐户的进程时,只需要按u键(注意小写),然后输入用户名即可。按用户过滤后,仍然可以按m键来对结果进行过滤。再在这个窗口中输入字符u,然后直接按回车键,又可以显示所用用户的进程信息;
3,删除异常程序:只需窗口内输入字符p,然后输入要关闭进程的PID即可。管理员只需要键入这个值,然后按回车键就可以杀掉不需要的进程。系统管理员可以同时关闭多个进程。方法很简单,就是同时输入多个需要关闭的进程号。在各个进程号之间需要利用逗号隔开。
二)、free命令:
查看Linux内存监控使用情况的free命令。
# free [-bkmotV][-s<间隔秒数>]
total:计物理内存的大小;
used:已使用多大;
free:可用有多少;
Shared:多个进程共享的内存总额;
Buffers/cached:磁盘缓存的大小;
三)、shutdown命令:
shutdown命令用于安全关闭Linux系统。
参数说明:
-t :指定在多长时间之后关闭系统;
-r: 重启系统;
-k:并不真正关机,只是给每个登录用户发送警告信号;
-h: 关闭系统(halt);
四)、halt命令:
halt是最简单的关机命令,其实际上是调用shutdown-h命令。halt执行时,杀死应用进程,文件系统写操作完成后就会停止内核。
参数说明:
-f: 没有调用shutdown而强制关机或重启;
-i: 机或重新启动之前,关掉所有的网络接口;
-p:关机时调用poweroff,此选项为缺省选项;
五)、reboot命令:
reboot的工作过程与halt类似,其作用是重新启动,而halt是关机。其参数也与halt类似。
六)、init命令:
nit是所有进程的祖先,其进程号始终为1。init用于切换系统的运行级别,切换的工作是立即完成的。init0命令用于立即将系统运行级别切换为0,即关机;init 6命令用于将系统运行级别切换为6,即重新启动。
七)、查看定额内存:
测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息,实际上top等工具也通过这里来获取相应的信息。
/proc/meminfo:机器的内存使用信息
/proc/pid/maps:pid为进程号,显示当前进程所占用的虚拟地址。
/proc/pid/statm:进程所占用的内存