如何查看某个进程的资源情况

聚客2022-06-05  28

linux查看进程(Linux怎么查看进程资源使用情况) 1. 前言

本文主要介绍如何在Linux系统中检查进程资源的使用情况。本文将介绍几个命令行工具。

在本教程中,您将学习以下知识:

  • 如何使用ps命令查看流程的基本信息

  • 如何使用top命令检查一个进程占用的CPU和内存。

    如何使用nethogs命令检查一个进程的实时网络连接速度?

    如何用ss命令检查一个进程占用的端口号?

    如何使用lsof命令查看进程占用的文件。

    Linux如何检查进程资源的使用情况

    准备工作:

  • 1。主流Linux系统

  • 2。拥有root权限。

    3。有域名控制,能做DNS映射,比如域网和IP的映射。

    4。熟悉Linux的基本命令行操作,如vi命令。

    软件工具列表:

  • 1。ps:用于查看流程的基本信息。

  • 2。top:查看进程占用的资源。

    3。nethogs:检查进程的实时网络连接速度。

    4。ss:检查进程占用的端口号。

    5。lsof:查看进程占用的文件。

    2。使用' ps '命令查看进程的基本信息 例如,我想查看nginx进程的基本信息:

    切换到根用户

    su -

    执行以下命令查看nginx进程的基本信息

    ps -ef |head -n1;ps -ef |grep nginx

    输出结果:

    UID PID PPID C STIME TTY TIME CMDroot 5950 1 0 2月06 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf

    使用ps命令查看进程的基本信息。

    上面的输出结果列分别表示

  • UID:用户ID,

  • PID:进程ID

    PPID:父进程

    C: CPU利用率

    STIME:开始时间

    TTY:启动这个过程的tty终端设备。

    TIME:该进程的总运行时间。

    CMD:命令已执行

    你可以看到我的服务器上nginx执行的命令是/usr/sbin/nginx-c/etc/nginx/nginx . conf。

    其实这是一个测试用的Linux虚拟机。

    更详细的用法请参考下面的教程:
    Linux如何查看进程状态(包括内存和CPU占用)

    3. 使用`top`命令查看进程占用的CPU资源和内存资源的情况

    我想检查nginx占用的CPU和内存
    我们前面了解到nginx的进程号是5950
    检查进程号为5950的程序占用的资源:

    top -p 5950

    输出结果:

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5950 root 20 0 115548 4124 2032 S 0.0 0.1 0:00.02 nginx

    使用top命令查看进程占用的CPU和内存资源。

    输出结果的每一列的含义:

  • PID:进程ID

  • 用户:用户

    PR:进程优先级

    ni:很值。负值表示高优先级,正值表示低优先级。

    VIRT:虚拟内存大小。进程使用的虚拟内存总量,以kb为单位。VIRT =互换+储备

    RES:由进程使用且未换出的物理内存的大小,以kb为单位。RES =代码+数据

    SHR:以kb为单位的共享内存大小

    S:进程状态。D=不间断睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程

    %CPU:自上次更新以来占用的CPU时间的百分比。

    %MEM:进程使用的物理内存的百分比。

    TIME+:进程使用的总CPU时间,以秒为单位。

    COMMAND:进程使用的命令、运行参数等。

    有关top命令的更多用法,请参考以下教程:

    Linux任务管理器top命令详解

    4. 使用`nethogs`命令查看进程实时的网络资源占用情况

    注意,缺省情况下,Linux发行版通常没有安装nethogs命令。

    接下来我们需要手动安装它:

    CentOS系统安装nethogs:

    yum tall nethogs -y

    Ubuntu系统安装网络猪:

    sudo apt install nethogs -y

    接下来,使用nethogs检查进程的实时网络连接速度,包括上传和下载速度:

    切换到root并执行以下命令

    nethogs

    使用nethogs命令查看进程的实时网络连接速度。

    从上图可以看出,W程序正在以400 KB/s的速度下载文件。

    想了解更多网猪的用法和功能?请参考下面的教程
    Linux如何查看和监控各个进程的实时流量?

    5. 使用`ss`命令查看进程占用的端口号

    切换到root后,执行以下命令检查nginx进程占用的端口号

    ss -lntp |grep nginx

    使用ss命令查看进程占用的端口号。

    从上图可以看出,我的nginx程序有两个进程,分别占用端口80和888。

    想了解更多关于ss的用法和功能?请参考以下教程
    Linux如何查看进程占用的端口?

    6. 使用`lsof`命令查看进程占用的文件资源

    要查看nginx进程打开的文件:

    lsof -c nginx

    使用lsof命令查看进程占用的文件。

    想了解更多关于ss的用法和功能?具体请参考下面的教程
    Linux lsof命令。

    7. 结论

    通过这篇文章,你应该能学会如何在Linux系统中检查进程资源的使用情况了吧?事实上,你需要更多地了解Linux,才能获得更全面的数据。如果你有更好的办法,请留言。

    转载请注明原文地址:https://juke.outofmemory.cn/read/283361.html

    最新回复(0)