精华内容
下载资源
问答
  • 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用...

    1. ps是什么?

    要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到。

    ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。

    基本参数:

    • -A :所有的进程均显示出来,与 -e 具有同样的效用;
    • -a :显示现行终端机下的所有进程,包括其他用户的进程;
    • -u :以用户为主的进程状态 ;
    • x :通常与 a 这个参数一起使用,可列出较完整信息。

    输出格式规划:

    • l :较长、较详细的将该PID 的的信息列出;
    • j :工作的格式 (jobs format)
    • -f :做一个更为完整的输出。

    下面我们就来一个命令进行实践,看看不同的参数都有些什么效果。

    2. 不加参数执行ps命令会输出什么?

    这是一个基本的 ps 使用,我们来看看控制台中执行这个命令并查看结果。

    d5177f6980f0d20104b8f89001a05e4a.png

    结果默认会显示4列信息:

    • PID: 运行着的命令(CMD)的进程编号
    • TTY: 命令所运行的位置(终端)
    • TIME: 运行着的该命令所占用的CPU处理时间
    • CMD: 该进程所运行的命令

    这些信息在显示时未排序。

    3. 如何显示所有当前进程?

    使用 -a 参数,-a 代表 all。同时加上x参数会显示没有控制终端的进程。

    $ ps -ax# 这个命令的结果或许会很长。为了便于查看,可以结合less命令和管道来使用。$ ps -ax | less
    f5ec9988cff63913e3e6eb0e9336d8ec.png

    4. 如何根据进程的用户进行信息过滤呢?

    在需要查看特定用户进程的情况下,我们可以使用 -u 参数。比如我们要查看用户'pungki'的进程,可以通过下面的命令:

    $ ps -u pungki
    4b5af0e79e9523bce54a7b621275842a.png

    5. 如何通过cpu和内存使用来过滤进程?

    也许你希望把结果按照 CPU 或者内存用量来筛选,这样你就找到哪个进程占用了你的资源。要做到这一点,我们可以使用 aux 参数,来显示全面的信息:

    $ ps -aux | less
    6c7bb479c8837d1ae30760147ac6cbea.png

    当结果很长时,我们可以使用管道和less命令来筛选。

    默认的结果集是未排好序的。可以通过 --sort命令来排序。

    5.1 根据CPU使用率来升序排序

    $ ps -aux --sort -pcpu | less

    5.2 根据内存使用率来升序排序

    $ ps -aux --sort -pmem | less
    c82ffa0e7b025d7dc3d4f4ea0f9edecf.png

    5.3 我们也可以将它们合并到一个命令,并通过管道显示前10个结果:

    $ ps -aux --sort -pcpu,+pmem | head -n 10

    6. 如何通过进程名和PID进行过滤呢?

    使用 -C 参数,后面跟你要找的进程的名字。比如想显示一个名为getty的进程的信息,就可以使用下面的命令:

    $ ps -C getty

    如果想要看到更多的细节,我们可以使用-f参数来查看格式化的信息列表:

    $ ps -f -C getty

    7. 如何根据线程来过滤进程呢?

    如果我们想知道特定进程的线程,可以使用 -L 参数,后面加上特定的PID。

    $ ps -L 1213

    8. 如何树形的显示进程?

    有时候我们希望以树形结构显示进程,可以使用 -axjf 参数。

    $ ps -axjf

    或者可以使用另一个命令。

    $ pstree

    9. 如何显示安全信息?

    如果想要查看现在有谁登入了你的服务器。可以使用ps命令加上相关参数:

    $ ps -eo pid,user,args参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User 和 Args参数显示PID,运行应用的用户和该应用。
    a7f4b9d6e9c361e7ebc5357ea8786036.png

    能够与 -e 参数 一起使用的关键字是args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart 和 start。

    10. 如何格式化输出root用户(真实的或有效的UID)创建的进程?

    系统管理员想要查看由root用户运行的进程和这个进程的其他相关信息时,可以通过下面的命令:

    $ ps -U root -u root u

    -U 参数按真实用户ID(RUID)筛选进程,它会从用户列表中选择真实用户名或 ID。真实用户即实际创建该进程的用户。

    -u 参数用来筛选有效用户ID(EUID)。

    最后的 u 参数用来决定以针对用户的格式输出,由User, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME 和 COMMAND这几列组成。

    这里有上面的命令的输出结果:

    09f8790c6c2911219094bd2d4cfe08c5.png

    11. 如何使用PS实时监控进程状态?

    ps 命令会显示你系统当前的进程状态,但是这个结果是静态的。

    当有一种情况,我们需要像上面第四点中提到的通过CPU和内存的使用率来筛选进程,并且我们希望结果能够每秒刷新一次。为此,我们可以将ps命令和watch命令结合起来。

    $ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’

    如果输出太长,我们也可以限制它,比如前20条,我们可以使用 head 命令来做到。

    $ watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’

    这里的动态查看并不像top或者htop命令一样。但是使用ps的好处是你能够定义显示的字段,你能够选择你想查看的字段。

    举个例子,如果你只需要看名为'pungki'用户的信息,你可以使用下面的命令:

    $ watch -n 1 ‘ps -aux -U pungki u --sort -pmem, -pcpu | head 20’
    640d1ac308088b4af762aad09e8e943b.png

    12. 最后

    你也许每天都会使用ps命令来监控你的Linux系统。但是事实上,你可以通过ps命令的参数来生成各种你需要的报表。

    ps命令的另一个优势是ps是各种 Linux系统都默认安装的,因此你只要用就行了。不要忘了通过 man ps来查看更多的参数。

    来源:http://juejin.im/post/5bf9213ce51d452237153c5c

    展开全文
  • 有关内存的专用名词和专业术语概念:物理内存和虚拟内存物理内存:就是...虚拟内存:相对于物理内存,在Linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出...

    有关内存的专用名词和专业术语概念:

    物理内存和虚拟内存

    物理内存:就是系统硬件提供的内存大小,是真正的内存,一般叫做内存条。也叫随机存取存储器(random access memory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。

    虚拟内存:相对于物理内存,在Linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。Linux会在物理内存不足时,使用虚拟内存,内核会把暂时不用的内存块信息写到虚拟内存,这样物理内存就得到了释放,这块儿内存就可以用于其他目的,而需要用到这些内容的时候,这些信息就会被重新从虚拟内存读入物理内存。

    Linux的buffers与cached

    在Linux中经常发现空闲的内存很少,似乎所有的内存都被消耗殆尽了,表面上看是内存不够用了,很多新手看到内存被“消耗殆尽”非常紧张,其实这个是因为Linux系统将空闲的内存用来做磁盘文件数据的缓存。这个导致你的系统看起来处于内存非常紧急的状况。但是实际上不是这样。这个区别于Windows的内存管理。Linux会利用空闲的内存来做cached & buffers。

    buffers是指用来给块设备做的缓冲大小(块设备的读写缓冲区),它只记录文件系统的metadata以及 tracking in-flight pages.

    Buffers are associated with a specific block device, and cover caching of filesystem metadata as well as tracking in-flight pages. The cache only contains parked file data. That is, the buffers remember what’s in directories, what file permissions are, and keep track of what memory is being written from or read to for a particular block device. The cache only contains the contents of the files themselves.

    cached是作为page cache的内存, 文件系统的cache。你读写文件的时候,Linux内核为了提高读写性能与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。其实这缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,所以你不必担心没有内存可用

    Cached is the size of the page cache. Buffers is the size of in-memory block I/O buffers. Cached matters; Buffers is largely irrelevant.

    Cached is the size of the Linux page cache, minus the memory in the swap cache, which is represented by SwapCached (thus the total page cache size is Cached + SwapCached). Linux performs all file I/O through the page cache. Writes are implemented as simply marking as dirty the corresponding pages in the page cache; the flusher threads then periodically write back to disk any dirty pages. Reads are implemented by returning the data from the page cache; if the data is not yet in the cache, it is first populated. On a modern Linux system, Cached can easily be several gigabytes. It will shrink only in response to memory pressure. The system will purge the page cache along with swapping data out to disk to make available more memory as needed.

    Buffers are in-memory block I/O buffers. They are relatively short-lived. Prior to Linux kernel version 2.4, Linux had separate page and buffer caches. Since 2.4, the page and buffer cache are unified and Buffers is raw disk blocks not represented in the page cache—i.e., not file data. The Buffers metric is thus of minimal importance. On most systems, Buffers is often only tens of megabytes.

    Linux共享内存

    共享内存是进程间通信中最简单的方式之一。共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个。其实所谓共享内存,就是多个进程间共同地使用同一段物理内存空间,它是通过将同一段物理内存映射到不同进程的虚拟空间来实现的。由于映射到不同进程的虚拟空间中,不同进程可以直接使用,不需要像消息队列那样进行复制,所以共享内存的效率很高。共享内存可以通过mmap()映射普通文件机制来实现,也可以System V共享内存机制来实现,System V是通过映射特殊文件系统shm中的文件实现进程间的共享内存通信,也就是说每个共享内存区域对应特殊文件系统shm中的一个文件。

    另外,我们还必须了解RSS、PSS、USS等相关概念:

    VSS – Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)

    RSS – Resident Set Size 实际使用物理内存(包含共享库占用的内存)

    PSS – Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)

    USS – Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

    RSS(Resident set size),使用top命令可以查询到,是最常用的内存指标,表示进程占用的物理内存大小。但是,将各进程的RSS值相加,通常会超出整个系统的内存消耗,这是因为RSS中包含了各进程间共享的内存。

    PSS(Proportional set size)所有使用某共享库的程序均分该共享库占用的内存时,每个进程占用的内存。显然所有进程的PSS之和就是系统的内存使用量。它会更准确一些,它将共享内存的大小进行平均后,再分摊到各进程上去。

    USS(Unique set size )进程独自占用的内存,它是PSS中自己的部分,它只计算了进程独自占用的内存大小,不包含任何共享的部分。

    所以下面介绍的命令,有些查看进程的虚拟内存使用,有些是查看进程的RSS或实际物理内存。在讲述的时候,我们会标注这些信息。

    top命令查看

    执行top命令后,执行SHIFT +F ,可以选择按某列排序,例如选择n后,就会按字段%MEM排序

    当然也可以使用shift+m 或大写键M 让top命令按字段%MEM来排序,当然你也可以按VIRT(虚拟内存)、SWAP(进程使用的SWAP空间)、RES(实际使用物理内存,当然这里由于涉及共享内存缘故,你看到的实际内存非常大)

    %MEM — Memory usage (RES)

    A task’s currently used share of available physical memory

    VIRT — virtual memory

    The total amount of virtual memory used by the task. It includes all code, data and shared libraries plus pages that have been swapped out. (Note: you can define the STATSIZE=1 environment variable and the VIRT will be calculated from the /proc/#/state VmSize field.)

    VIRT = SWAP + RES

    SWAP — Swapped size (kb)

    The swapped out portion of a task’s total virtual memory image.

    RES — Resident size (kb)

    RES = CODE + DATA.

    是否有人会觉得奇怪,为什么%MEM这一列的值加起来会大于100呢? 这个是因为这里计算的时候包含了共享内存的缘故,另外由于共享内存的缘故,你看到进程使用VIRT或RES都非常高。由于大部分的物理内存通常在多个应用程序之间共享,名为实际使用物理内存(RSS,对应top命令里面的RES)的这个标准的内存耗用衡量指标会大大高估内存耗用情况。

    ps命令查看

    ps aux | head -1;ps aux |grep -v PID |sort -rn -k +4 | head -20

    使用ps命令找出占用内存资源最多的20个进程(数量可以任意设置)

    ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -n -r | less

    查看进程占用的实际物理内存(与smem看到实际物理内存大小有出入,这里解释一下:SIZE: 进程使用的地址空间, 如果进程映射了100M的内存, 进程的地址空间将报告为100M内存. 事实上, 这个大小不是一个程序实际使用的内存数. 所以这里看到的内存跟smem看到的大小有出入)

    ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }' |cut -d "" -f2 | cut -d "-" -f1

    ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n

    smem命令查看

    关于smem命令,这里不做介绍,直接参考链接Linux监控工具介绍系列——smem

    smem -rs pss

    pmap命令查看

    ps -ef | grep tomcat

    pmap 32341

    pmap -x 32341

    The -x option can be used to provide information about the memory allocation and mapping types per mapping. The amount of resident, non-shared anonymous, and locked memory is shown for each mapping

    python脚本查看

    网上有个python脚本计算程序或进程的内存使用情况,地址位于https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py

    python ps_mem.py

    [root@mylnx03 ~]# python ps_mem.py -h

    Usage: ps_mem [OPTION]...

    Show program core memory usage

    -h, -help Show this help

    -p [,pid2,...pidN] Only show memory usage PIDs in the specified list

    -s, --split-args Show and separate by, all command line arguments

    -t, --total Show only the total value

    -d, --discriminate-by-pid Show by process rather than by program

    -S, --swap Show swap information

    -w Measure and show process memory every N seconds

    [root@mylnx03 ~]# python ps_mem.py -p 32341

    Private + Shared = RAM used Program

    411.2 MiB + 184.0 KiB = 411.4 MiB java

    ---------------------------------

    411.4 MiB

    =================================

    参考链接:http://www.importnew.com/29782.html

    展开全文
  • 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用...

    1. ps是什么?

    要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到。

    ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。

    基本参数:

    • -A :所有的进程均显示出来,与 -e 具有同样的效用;
    • -a :显示现行终端机下的所有进程,包括其他用户的进程;
    • -u :以用户为主的进程状态 ;
    • x :通常与 a 这个参数一起使用,可列出较完整信息。

    输出格式规划:

    • l :较长、较详细的将该PID 的的信息列出;
    • j :工作的格式 (jobs format)
    • -f :做一个更为完整的输出。

    下面我们就来一个命令进行实践,看看不同的参数都有些什么效果。

    2. 不加参数执行ps命令会输出什么?

    这是一个基本的 ps 使用,我们来看看控制台中执行这个命令并查看结果。

    2724aa07ab3bd8de2a9b364fd538855f.png

    结果默认会显示4列信息:

    • PID: 运行着的命令(CMD)的进程编号
    • TTY: 命令所运行的位置(终端)
    • TIME: 运行着的该命令所占用的CPU处理时间
    • CMD: 该进程所运行的命令

    这些信息在显示时未排序。

    3. 如何显示所有当前进程?

    使用 -a 参数,-a 代表 all。同时加上x参数会显示没有控制终端的进程。

    1.$ ps -ax2.3.# 这个命令的结果或许会很长。为了便于查看,可以结合less命令和管道来使用。4.5.$ ps -ax | less
    37737f9af563161b5b42dcdef1cd9f4d.png

    4. 如何根据进程的用户进行信息过滤呢?

    在需要查看特定用户进程的情况下,我们可以使用 -u 参数。比如我们要查看用户'pungki'的进程,可以通过下面的命令:

    1.$ ps -u pungki
    ae26d0909b00f29a1daded9b3045d2db.png

    5. 如何通过cpu和内存使用来过滤进程?

    也许你希望把结果按照 CPU 或者内存用量来筛选,这样你就找到哪个进程占用了你的资源。要做到这一点,我们可以使用 aux 参数,来显示全面的信息:

    1.$ ps -aux | less
    ab5fb12798f9eb43ca6f74439bc9814b.png

    当结果很长时,我们可以使用管道和less命令来筛选。

    默认的结果集是未排好序的。可以通过 --sort命令来排序。

    5.1 根据CPU使用率来升序排序

    1.$ ps -aux --sort -pcpu | less
    5f411f652c0fc05ab033d45f86fc49ff.png

    5.2 根据内存使用率来升序排序

    1.$ ps -aux --sort -pmem | less
    b1072b2363b1e8779cac7cc296393992.png

    5.3 我们也可以将它们合并到一个命令,并通过管道显示前10个结果:

    1.$ ps -aux --sort -pcpu,+pmem | head -n 10

    6. 如何通过进程名和PID进行过滤呢?

    使用 -C 参数,后面跟你要找的进程的名字。比如想显示一个名为getty的进程的信息,就可以使用下面的命令:

    1.$ ps -C getty
    11f94b6ada7490dfb6c8d02d42705da2.png

    如果想要看到更多的细节,我们可以使用-f参数来查看格式化的信息列表:

    1.$ ps -f -C getty
    feb2b10e6d27866b82d2bf33b057adfc.png

    7. 如何根据线程来过滤进程呢?

    如果我们想知道特定进程的线程,可以使用 -L 参数,后面加上特定的PID。

    1.$ ps -L 1213
    03bf010e125d2b3ab640496e3a49b51c.png

    8. 如何树形的显示进程?

    有时候我们希望以树形结构显示进程,可以使用 -axjf 参数。

    1.$ ps -axjf
    fb61cd5d9c43489a26764d72aa7cbc9f.png

    或者可以使用另一个命令。

    1.$ pstree
    a887f752659faab831da28922c86179c.png

    9. 如何显示安全信息?

    如果想要查看现在有谁登入了你的服务器。可以使用ps命令加上相关参数:

    1.$ ps -eo pid,user,args

    参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User 和 Args参数显示PID,运行应用的用户和该应用。

    30b5a60b6be7187c53980ca8d575163e.png

    能够与 -e 参数 一起使用的关键字是args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart 和 start

    10. 如何格式化输出root用户(真实的或有效的UID)创建的进程?

    系统管理员想要查看由root用户运行的进程和这个进程的其他相关信息时,可以通过下面的命令:

    1.$ ps -U root -u root u

    -U 参数按真实用户ID(RUID)筛选进程,它会从用户列表中选择真实用户名或 ID。真实用户即实际创建该进程的用户。

    -u 参数用来筛选有效用户ID(EUID)。

    最后的 u 参数用来决定以针对用户的格式输出,由User, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME 和 COMMAND这几列组成。

    这里有上面的命令的输出结果:

    48340d46c4bcf20c851c6fd692d9f30d.png

    11. 如何使用PS实时监控进程状态?

    ps 命令会显示你系统当前的进程状态,但是这个结果是静态的。

    当有一种情况,我们需要像上面第四点中提到的通过CPU和内存的使用率来筛选进程,并且我们希望结果能够每秒刷新一次。为此,我们可以将ps命令和watch命令结合起来

    1.$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’
    4968098d963aa7a0aa78c394cbfebfda.png

    如果输出太长,我们也可以限制它,比如前20条,我们可以使用 head 命令来做到。

    1.$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’
    56442d2e89a5c333767e0a605134df7a.png

    这里的动态查看并不像top或者htop命令一样。但是使用ps的好处是你能够定义显示的字段,你能够选择你想查看的字段。

    举个例子,如果你只需要看名为'pungki'用户的信息,你可以使用下面的命令:

    1.$ watch -n 1 ‘ps -aux -U pungki u --sort -pmem, -pcpu | head 20’
    34f384813715b60db55dd24fe7b9b947.png

    12. 最后

    你也许每天都会使用ps命令来监控你的Linux系统。但是事实上,你可以通过ps命令的参数来生成各种你需要的报表。

    ps命令的另一个优势是ps是各种 Linux系统都默认安装的,因此你只要用就行了。不要忘了通过 man ps来查看更多的参数。

    来源:

    https://juejin.im/post/5bf9213ce51d452237153c5c

    a418a07564455417d66150d7b982612d.png
    展开全文
  • Linux如何查看进程和控制进程 前言: 程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合,而进程是在CPU及内存中处于动态执行状态的计算机程序。在Linux系统中,每个程序启动后可以创建一个或...

    Linux如何查看进程和控制进程

    前言: 程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合,而进程是在CPU及内存中处于动态执行状态的计算机程序。在Linux系统中,每个程序启动后可以创建一个或多个进程。例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务 。

    一:查看和控制进程

    使用不同的命令工具可以从不同的角度查看进程状态 。

    1、查看静态的进程统计信息 ——ps

    ​ ps aux ps -elf

    a:显示当前终端下的所有进程信息

    u:以用户为主的格式输出进程信息

    x:显示当前用户在所有终端下的进程信息

    -e:显示系统内的所有进程信息

    -l :使用长格式显示进程信息

    -f:使用完整的格式显示进程信息
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wfiYU4vy-1573711829281)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573616866312.png)]
    第一行列表字段表示的含义:

    ​ USER:启动该进程的用户账号名称

    ​ PID:该进程的ID号,在当前系统中是唯一的

    ​ TTY:该进程在哪个终端上运行。“?”表未知或不需要终端

    ​ STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。

    ​ START:启动该进程的时间

    ​ TIME:该进程占用CPU时间

    ​ COMMAND:启动该进程的命令的名称

    ​ %CPU:CPU占用的百分比

    ​ %MEM:内存占用的百分比

    ​ VSZ:占用虚拟内存(swap空间)的大小

    ​ RSS:占用常驻内存(物理内存)的大小
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K1sMhNym-1573711829282)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573617924753.png)]
    在系统中运行的进程数量较多,需要查询某一个进程信息时,可以结合管道操作和grep命令过滤。 如:过滤出包含“bash”的进程信息
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IU09ykL3-1573711829283)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573618226037.png)]

    2、查看动态的进程信息 ——top

    ​ top命令在当前终端以全屏交互的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次。作用相当于Windows系统的任务管理器。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gq5vdMeI-1573711829283)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573618861580.png)]

    3、查询进程信息 ——pgrep

    ​ pgrep 是用来查询特定进程信息的专用工具,使用pgrep 可以根据进程的名称、运行该进程的用户、进程所在的终端等多种属性查询特定进程的PID号。

    结合“-l” 可同时输出对应的进程名。例如: 查询进程名中包含“log” 的进程及PID号
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z5fwoVu5-1573711829284)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573619391468.png)]

    4、查看进程树——pstree

    ​ pstree命令可以输出linux系统中各进程的树形结构,更加直观地判断各进程之间的相互关系(父、子进程)。

    ​ pstree -aup

    a : 列出完整的命令信息

    u:列出对应的用户名

    p: 同时列出对应的PID号
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kHpemMX3-1573711829284)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573641209673.png)]
    查看指定用户的进程树结构,只要指定用户名作为参数即可。前提这个用户是可以被登录的
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bj44GLjq-1573711829285)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573641865693.png)]

    二 :控制进程

    1、启动进程

    在Linux中,可以由用户手工启动或按预定计划调度启动新的进程。

    (1)手工启动进程

    ​ 由用户手工输入命令或可执行程序的路径,可以至少启动一个进程。可分为前台启动和后台启动。进程在前台运行时必须等到该进程执行结束并退出才能继续输入其他命令,大多数命令都是在前台启动运行。 启动后台进程需要使用“&”操作符,放在执行命令的最后,进程启动会直接放入后台运行,不占用前台命令操作界面。

    ​ 例如:把目录/mnt/packages 复制到/opt/ 下,由于需要复制的数据较多,因此可结合“&” 符号将复制操作放到后台运行,以便可以继续执行其他命令操作。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sh7KcMFe-1573711829285)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573643391864.png)]

    (2)调度启动进程

    ​ 进程的调度启动可以通过at、crontab 命令进行设置,at 命令用于设置一次性计划任务,crontab 用于设置周期性运行的计划任务。

    at 一次性任务设置

    ​ 只在指定的时间点执行一次,前提是对应的系统服务atd必须已经运行。注意:计划执行任务的时间、日期必须安排在当前系统的时刻之后,否则无法正确设置计划任务。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TOgLYMUL-1573711829286)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573645921559.png)]
    删除第2条at计划任务:atrm 2

    crontab周期性任务设置

    ​ 使用crontab命令设置的计划任务可以按预设的周期重复执行,大大减轻设置重复性系统管理任务的操作,由软件包cronie提供crontab工具、系统服务crond和配置文件/etc/crontab。 前提是对应的系统服务crond必须已运行。

    首先需要知道配置文件在哪边
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nPnzGUMe-1573711829287)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573646954845.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qMIfov0I-1573711829287)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1573647398591.png)]
    -e:编辑计划任务列表

    -u:指定所管理的计划任务属于哪个用户,默认时针对当前用户自己,一般只有root用户有权限使用此选项

    -l:列表显示计划任务

    -r:删除计划任务

    Crontab计划任务的配置格式中,五个时间字段依次为分钟、小时、日期、月份、星期。

    实例:

    1、每一分钟执行一次myCommand

    * * * * * myCommand
    

    2、每小时的第3和第10分钟执行myCommand

    3,10 * * * * myCommand
    

    3、每隔两天的上午8点到11点的第3和第15分钟执行

    3,15 8-11 */2 * * myCommand
    

    4、每晚的21:30重启smb

    30 21 * * * /etc/init.d/smb restart
    

    5、每天18:00至23:00之间每隔30分钟重启smb

    0,30 18-23 * * * /etc/init.d/smb restart
    

    6、每一小时重启smb

    * */1 * * * /etc/init.d/smb restart
    

    7、晚上11点到早上7点之间每隔一小时重启smb

    * 23-7/1 * * * /etc/init.d/smb restart
    
    展开全文
  • ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之部分信息都是可以通过执行该命令得到的。...
  • linux中的进程与线程首先明确进程进程的基本概念:进程是资源分配的基本单位线程是CPU调度的基本单位一个进程下可能有多个线程线程共享进程的资源基本原理linux用户态的进程、线程基本满足上述概念,但内核态不...
  • 查看linux进程

    2021-02-08 16:06:17
    ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之部分信息都是可以通过执行该命令得到的。...
  • 线程基本概念 线程是现代操作系统上进行并行执行的一... 在Linux中,程序中创建的线程(也称为轻量级进程,LWP)会具有和程序的PID相同的“线程组ID”。然后,各个线程会获得其自身的线程ID(TID)。对于Linux内...
  • Linux如何查看和控制进程 前言:程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合,而进程是在CPU及内存中处于动态执行状态的计算机程序。在Linux系统中,每个程序启动后可以创建一个或多个...
  • LINUX 查看进程占用swap

    2014-08-15 15:29:50
    用于查看LINUX进程占用SWAP大小
  • 本文将介绍快速查找Linux主机内存消耗进程的方法,主要包括以下四种。1] 使用ps命令快速查找内存消耗进程使用如下所示的命令方式,可以很方便的定位内存使用量进程:ps -eo pid,ppid,cmd,%mem --sort=-%mem ...
  • linux中的进程与线程首先明确进程进程的基本概念:进程是资源分配的基本单位线程是CPU调度的基本单位一个进程下可能有多个线程线程共享进程的资源基本原理linux用户态的进程、线程基本满足上述概念,但内核态不...
  • 1.top查看单个进程的CPU或内存占用 top命令只能查看进程的cpu、内存占用百分比,但是看着每个进程占用的内存并不大 2.查看内存占用最多的进程: ps -aux | sort -k4nr | head -n 10 3.free -h 使用free -h可以...
  • Linux中,程序中创建的线程(也称为轻量级进程,LWP)会具有和程序的PID相同的“线程组ID”。然后,各个线程会获得其自身的线程ID(TID)。对于Linux内核调度器而言,线程不过是恰好共享特定资源的标准的进
  • Linux 查看进程

    2016-02-19 15:38:00
    1、ps显示进程信息,参数可省略-aux 以BSD风格显示进程常用 -efH 以SystemV风格显示进程-e , -A 显示所有进程a 显示终端上所有用户的进程x 显示无终端进程u显示详细信息f 树状显示w 完整显示信息l 显示长列表各列...
  • ulimit -n和-u可以查看linux的最大进程数和最大文件打开数。 临时方法: 为了优化linux性能,可能需要修改这个最大值。临时修改的话ulimit -n 204800就可以了,重启后失效。 永久生效的方法: 修改/etc/security...
  • 线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念。当一个程序内有多个线程被叉分出用以执行多个流时,...在Linux中,程序中创建的线程(也称为轻量级进程,LWP)会具有和程序的PID相同的“线程组...
  • 1.ps 命令用于查看当前正在运行的进程。 grep 是搜索 例如: ps -ef | grep java 表示查看所有进程里 CMD 是 java 的进程信息 ps -aux | grep java -aux 显示所有状态 ps 1. ps 简介 ps 命令...
  • linux 基础操作:主要介绍了如何查看与结束进程进程相关信息:USER :进程所属用户, PID:进程ID编号, %CPU:进程所占CPU比例, %MEM :进程所占内存比例, VSZ:进程所占虚拟内存大小,RSS:进程使用物理内存...
  • Linux查看进程占用:

    2018-11-08 17:40:41
    Linux查看进程占用: ps -aux 状态详解 ps命令 ​ 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令. 使用ps...
  • linux查看哪些进程占用swap空间

    千次阅读 2019-03-05 15:26:38
    linux查看占用swap空间最大的前10个进程 for i in $(ls /proc |grep "^[0-9]" |awk '$0>100'); do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps; done |sort -k2nr |head -10 转载于:...
  • Linux查看进程命令有哪些?

    千次阅读 2019-09-23 17:09:42
    今天达妹就来为大家总结整理一些常用的Linux查看进程命令。 Linux查看进程命令有哪些? Linux查看进程命令:PS命令 ps命令是一个相当强大地Linux进程查看命令.运用该命令可以确定有哪些进程正在运行和运行地状态、 ...
  • Linux查看进程状态

    千次阅读 2019-03-25 23:30:14
    Linux系统中,每个程序启动后可以创建一个或多个进程。例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务。 程序保存在硬盘、光盘等介质中的可执行代码和数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,084
精华内容 1,633
关键字:

linux查看大进程

linux 订阅