本文主要介绍如何在Linux系统中检查进程资源的使用情况。本文将介绍几个命令行工具。
在本教程中,您将学习以下知识:
Linux如何检查进程资源的使用情况
准备工作:
切换到根用户
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命令查看进程的基本信息。
上面的输出结果列分别表示
其实这是一个测试用的Linux虚拟机。
更详细的用法请参考下面的教程:
Linux如何查看进程状态(包括内存和CPU占用)
我想检查nginx占用的CPU和内存
我们前面了解到nginx的进程号是5950
检查进程号为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和内存资源。
输出结果的每一列的含义:
Linux任务管理器top命令详解
4. 使用`nethogs`命令查看进程实时的网络资源占用情况注意,缺省情况下,Linux发行版通常没有安装nethogs命令。
接下来我们需要手动安装它:
CentOS系统安装nethogs:
yum tall nethogs -yUbuntu系统安装网络猪:
sudo apt install nethogs -y接下来,使用nethogs检查进程的实时网络连接速度,包括上传和下载速度:
切换到root并执行以下命令
nethogs使用nethogs命令查看进程的实时网络连接速度。
从上图可以看出,W程序正在以400 KB/s的速度下载文件。
想了解更多网猪的用法和功能?请参考下面的教程
Linux如何查看和监控各个进程的实时流量?
切换到root后,执行以下命令检查nginx进程占用的端口号
ss -lntp |grep nginx使用ss命令查看进程占用的端口号。
从上图可以看出,我的nginx程序有两个进程,分别占用端口80和888。
想了解更多关于ss的用法和功能?请参考以下教程
Linux如何查看进程占用的端口?
要查看nginx进程打开的文件:
lsof -c nginx使用lsof命令查看进程占用的文件。
想了解更多关于ss的用法和功能?具体请参考下面的教程
Linux lsof命令。
通过这篇文章,你应该能学会如何在Linux系统中检查进程资源的使用情况了吧?事实上,你需要更多地了解Linux,才能获得更全面的数据。如果你有更好的办法,请留言。