企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
任何进程都与文件关联;我们会用到lsof工具(list opened files),作用是列举系统中已经被打开的文件。在linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是文件。用好lsof命令,对日常的linux管理非常有帮助。 ###查询正在运行的进程信息 ~~~ ps -ef ~~~ ###查询归属于用户www的进程 ~~~ ps -ef | grep www ~~~ ###查询进程ID(适合只记得部分进程字段) 查询进程名中含有re的进程 ~~~ root@iZ239kcyg8rZ:/home/www# pgrep -l re 2 kthreadd 55 devfreq_wq 62 ecryptfs-kthrea 1065 redis-server ~~~ ###以完整的格式显示所有的进程 ~~~ ps -ajx ~~~ ###查看端口占用的进程状态: ~~~ root@iZ239kcyg8rZ:/home/www# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME AliYunDun 1160 root 10u IPv4 4564539 0t0 TCP 120.26.228.168:49953->140.205.140.205:http (ESTABLISHED) nginx 9362 root 7u IPv4 9948380 0t0 TCP *:http (LISTEN) nginx 9364 www 7u IPv4 9948380 0t0 TCP *:http (LISTEN) ~~~ ##top linux下的任务管理器 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。 ![](https://box.kancloud.cn/865c08da61985bb66789c790072435f5_1273x88.png) ~~~ top - 09:14:56 up 264 days, 20:56, 1 user, load average: 0.02, 0.04, 0.00 Tasks: 87 total, 1 running, 86 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.2%st Mem: 377672k total, 322332k used, 55340k free, 32592k buffers Swap: 397308k total, 67192k used, 330116k free, 71900k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 2856 656 388 S 0.0 0.2 0:49.40 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 7:15.20 ksoftirqd/0 4 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 ~~~ ###第一行系统信息 ~~~ 09:14:56 : 系统当前时间 264 days, 20:56 : 系统开机到现在经过了多少时间 1 users : 当前2用户在线 load average: 0.02, 0.04, 0.00: 系统1分钟、5分钟、15分钟的CPU负载信息 ~~~ ###第二行任务信息 ~~~ Tasks:任务; 87 total:很好理解,就是当前有87个任务,也就是87个进程。 1 running:1个进程正在运行 86 sleeping:86个进程睡眠 0 stopped:停止的进程数 0 zombie:僵死的进程数 ~~~ ###第三行CPU信息 ~~~ Cpu(s):表示这一行显示CPU总体信息 0.0%us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。 0.7%sy:内核占用CPU时间百分比 0.0%ni:改变过优先级的进程占用CPU的百分比 99.3%id:空闲CPU时间百分比 0.0%wa:等待I/O的CPU时间百分比 0.0%hi:CPU硬中断时间百分比 0.0%si:CPU软中断时间百分比 注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1; ~~~ ###第四行内存信息 ~~~ Men:内存的意思 8175320kk total:物理内存总量 8058868k used:使用的物理内存量 116452k free:空闲的物理内存量 283084k buffers:用作内核缓存的物理内存量 ~~~ ###第五行交换区信息 ~~~ Swap:交换空间 6881272k total:交换区总量 4010444k used:使用的交换区量 2870828k free:空闲的交换区量 4336992k cached:缓冲交换区总量 ~~~ ###进程信息 ~~~ 再下面就是进程信息: PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT:进程占用的虚拟内存 RES:进程占用的物理内存 SHR:进程使用的共享内存 S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数 %CPU:进程占用CPU的使用率 %MEM:进程使用的物理内存和总内存的百分比 TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。 COMMAND:进程启动命令名称 ~~~