`

Linux系统命令Top/free

阅读更多

Defunct processes are corrupted processes that can no longer communicate between the parent and child one. Sometimes, they become “zombies” and remain in your system until you reboot your machine. You can try to apply “kill -9″ command, but most of the time you’ll be out of luck.

In order to kill theses defunct processes, you have two choices:
1. Reboot your computer
2. Continue reading…

First, let’s find out if the system contains defunct process:

$ ps -A | grep defunct

Assume your output is as the following:

app      25883  0.0  0.0      0     0 ?        Z    Oct14   0:01 [ruby] <defunct>
app      30665  0.0  0.0      0     0 ?        Z    Oct15   0:01 [ruby] <defunct>

This means you have 2 of ruby. These processes exists because of poorly written application or unusual action taken by the user, in my case there must be some serious problem with the program I wrote in ruby

Now, let’s find the ID of the process and its parent’s:

$ ps -ef | grep defunct | more

The output from the above command:

UID       PID   PPID ...
---------------------------------------------------------------

app      20084 18156  0 19:09 pts/0    00:00:00 grep defunct
app      25883 27803  0 Oct14 ?        00:00:01 [ruby] <defunct>
app      30665 27803  0 Oct15 ?        00:00:01 [ruby] <defunct>

UID: User ID
PID: Process ID
PPID: Parent Process ID

If you try to kill the process with ID 20084 with the command “kill -920084 ″, it may not work. To properly kill it, you need to execute the kill command on its parent whose ID is 18156 ($kill -9 18156). Continue applying the kill command on all the PPID, and verify your result ($ps -A | grep defunct).

If the previous command display no result, well done, otherwise you may need to reboot your system.

Source:

http://wagoneers.com/UNIX/KILL/Kill.html

http://www.cts.wustl.edu/~allen/kill-defunct-process.html


On Unix and Unix-like computer operating systems, a zombie process or defunct process is a process that has completed execution but still has an entry in the process table. This entry is still needed to allow the process that started the (now zombie) process to read its exit status. The term zombie process derives from the common definition of zombie—an undead person. In the term's colorful metaphor, the child process has died but has not yet been reaped. Also, unlike normal processes, the kill command has no effect on a zombie process.





1.作用

top命令用来显示执行中的程序进程,使用权限是所有用户。

2.格式

top [-] [d delay] [q] [c] [S] [s] [i] [n]

3.主要参数

d:指定更新的间隔,以秒计算。

q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。

c:显示进程完整的路径与名称。

S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。

s:安全模式。

i:不显示任何闲置(Idle)或无用(Zombie)的行程。

n:显示更新的次数,完成后将会退出top。

4.说明

top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。这里我们结合图1来说明它给出的信息。

top命令的显示 (图略)

第一行表示的项目依次为当前时间、系统运行时间、当前系统登录用户数目、1/5/10分钟系统平均负载(一般来说,这个负载值应该不太可能超过 1 才对,除非您的系统很忙碌。 如果持续高于 5 的话,那么.....仔细的看看到底是那个程序在影响整体系统吧!)。

第二行显示的是所有启动的进程、目前运行、挂起 (Sleeping)的和无用(Zombie)的进程。(比较需要注意的是最后的 zombie 那个数值,如果不是 0 ,嘿嘿!好好看看到底是那个 process 变成疆尸了吧?!)(stop模式:与sleep进程应区别,sleep会主动放弃cpu,而stop是被动放弃cpu ,例单步跟踪,stop(暂停)的进程是无法自己回到运行状态的)

第三行显示的是目前CPU的使用情况,包括us用户空间占用CPU百分比、sy 内核空间占用CPU百分比、ni 用户进程空间内改变过优先级的进程占用CPU百分比(中断处理占用)、id 空闲CPU百分比、wa 等待输入输出的CPU时间百分比、hi,si,st 三者的意思目录还不清楚 :)

第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。

第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。

第六行显示的项目最多,下面列出了详细解释。

PID(Process ID):进程标示号 ( 每个 process 的 ID )

USER:进程所有者的用户名 ( 该 process 所属的使用者 )

PR:进程的优先级别 ( Priority 的简写,程序的优先执行顺序,越小越早被执行 )

NI:进程的优先级别数值 ( Nice 的简写,与 Priority 有关,也是越小越早被执行 )

VIRT:进程占用的虚拟内存值。

RES:进程占用的物理内存值。

SHR:进程使用的共享内存值。

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

%CPU:该进程占用的CPU使用率。

%MEM:该进程占用的物理内存和总内存的百分比。

TIME+:该进程启动后占用的总的CPU时间 ( CPU 使用时间的累加 )

Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

<空格>:立刻刷新。

P:根据CPU使用大小进行排序。

T:根据时间、累计时间排序。

q:退出top命令。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据使用内存大小进行排序。

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

5.应用实例

使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面,见图2所示。

a.作用

free命令用来显示内存的使用情况,使用权限是所有用户。

b.格式

free [-b|-k|-m] [-o] [-s delay] [-t] [-V]

c.主要参数

-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。

-s delay:显示每隔多少秒数来显示一次内存使用情况。

-t:显示内存总和列。

-o:不显示缓冲区调节列。

d.应用实例

free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。

#free -b -s5

使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。

(责任编辑:云子)

分享到:
评论

相关推荐

    Linux系统命令top,ps,kill,free,vmstat等命令的源码

    在Linux操作系统中,掌握一些基础的系统管理命令是至关重要的,比如`top`, `ps`, `kill`, `free`和`vmstat`等。这些命令提供了监控系统性能、查看进程状态、管理进程以及分析内存和虚拟内存使用情况的能力。本源码包...

    top/free/ps等命令源代码

    linux下的procps源代码,包括 top、free、ps、kill、vmstat等。从gitlab上下载的,日期20210518。系统上的top命令不好用,很久之前就想将其替换掉,终于找到源代码了。

    车载常用linux命令+火车/高铁/公交车行业+车载linux系统测试常用命令,用于测试职位或运维技术支持职位

    在IT行业中,Linux系统是许多车载设备和交通系统的首选操作系统,因为它的稳定性和...总之,熟练掌握这些Linux命令对于车载Linux系统测试和运维工作至关重要,它们能帮助我们高效地进行系统管理、故障排查和性能优化。

    linux /unix/centos/ubuntu/redhat常用命令大全/手册/下载

    这篇文档“Linux常用命令大全/手册/下载”正是为了帮助用户掌握这些操作系统中的基础及高级命令。 一、文件和目录操作 1. `ls`:列出目录内容。 2. `cd`:切换当前工作目录。 3. `pwd`:显示当前工作目录。 4. `...

    linux下top命令的使用.docx

    `top` 命令是 Linux 系统中非常重要的实时监控工具之一,主要用于查看和监控系统资源使用情况,特别是 CPU 和内存的使用情况。虽然大多数程序员都熟悉 `top` 命令的基本使用,但在深入理解和高效利用该命令方面仍...

    Linux命令大全完整版.pdf

    本文将详细解读《Linux命令大全完整版.pdf》中所收录的各类命令,以帮助读者更好地理解和运用Linux命令。 1. Linux系统管理命令 系统管理命令是Linux系统中最重要的命令类别之一,涵盖了用户管理、进程控制、系统...

    Linux Top命令参详解

    `top` 命令是 Linux 系统中最常用的系统监控工具之一,它能够实时地显示系统中各个进程的资源占用状况,包括 CPU 使用率、内存使用情况等。在实际应用中,无论是对于系统管理员还是普通用户来说,掌握 `top` 命令的...

    查看Linux下系统资源占用常用命令.docx

    Linux系统资源占用常用命令 Linux操作系统提供了多种命令来查看和监控系统资源的占用情况,这些命令对于系统管理员来说非常重要。本文将介绍三种常用的命令:top命令、free命令和uptime命令。 1. top命令 top命令...

    嵌入式Linux内存管理之free命令

    Linux系统管理员可以使用free命令结合top等其他工具,来实时监控和分析内存的使用情况。通过理解free命令的输出以及内存管理的机制,管理员可以更有效地优化系统性能,并合理分配系统资源。在实际操作中,管理员可能...

    Linux查看系统命令

    ### Linux查看系统命令知识点 #### 一、系统信息查询 **1.1 查看内核/操作系统/CPU信息** - **命令**: `uname -a` - **用途**: 显示当前系统的详细信息,包括内核版本、编译日期、主机名等。 - **示例输出**: `...

    linux系统命令及shell脚本实践指南

    ### Linux系统命令及Shell脚本实践指南 #### Linux基础知识概览 Linux作为一种广泛使用的开源操作系统,在服务器、云计算、移动设备等多个领域占据着重要的地位。掌握Linux基础知识对于IT专业人士来说至关重要。 ...

    linux基本命令大全.pdf

    本文档旨在总结 Linux 系统中常用的基本命令,涵盖用户管理、文件管理、目录管理、权限管理、磁盘管理、进程管理、网络管理等方面。 用户管理 * useradd 创建用户 * usermod 修改用户信息 * userdel 删除用户 * ...

    linux核心命令速查

    Linux命令一般由命令名称、选项和参数组成。命令名称是必须输入的部分,用来告诉系统要执行什么操作;选项通常用来调整命令的行为,如改变输出格式、显示更多信息等,它们以单个或多个连字符开头;参数则是命令作用...

    Linux 系统监控命令

    Linux 系统监控命令 Linux 系统监控命令是系统管理员不可或缺的一部分,通过这些命令可以实时监控系统的运行状态,快速定位问题,提高系统的稳定性和性能。本文将介绍 20 个常用的 Linux 系统监控工具,帮助管理员...

    Linux系统管理常用命令集

    根据给定的文件信息,以下是对Linux系统管理常用命令集的知识点详细解析: ### 一、系统状态查询 #### 1. **uname** - **功能**:显示系统内核和硬件架构信息。 - **参数**: - `-a`:显示全部信息,包括系统...

    第2章 Linux基础命令.ppt第2章 Linux基础命令.ppt

    系统管理命令如`ps`用于查看当前进程状态,`top`实时显示系统资源使用情况,`kill`发送信号给指定进程,`uname`显示系统信息,`setup`提供图形化系统配置,`crontab`安排周期性任务,`shutdown`用于关机或重启,`...

    hcache Linux系统buff/cache过高问题处理

    `chmod 755 hcache` 是一个Linux命令,用于改变文件`hcache`的权限。`chmod`是改变文件或目录权限的命令,数字`755`代表特定的权限设置。`7`代表所有者有读、写、执行权限,`5`代表用户组和其他用户有读、执行权限。...

    linux系统资源监控命令

    ### Linux系统资源监控命令...以上介绍了几种常用的Linux系统资源监控命令,它们分别是`top`、`free`、`vmstat`和`iostat`。通过这些命令,我们可以有效地监控和管理Linux系统的资源使用情况,确保系统稳定高效地运行。

    linux运维经典命令

    5. 查看 Linux 服务器的内存使用命令:`free -m`。 6. 查看服务器硬盘使用情况命令:`fdisk -l`。 7. 查看文件系统的磁盘空间占用情况命令:`df -h`。 8. 查看服务器 IO 使用情况命令:`iostat -d -x -k 1`,需要...

Global site tag (gtag.js) - Google Analytics