10Linux 进程管理学习笔记

Linux 进程管理

目录

文章目录

一.进程

1.显示当前进程状态(ps)

显示所有运行中的进程及其详细信息
ps aux

显示所有包含nginx的进程
ps -ef | grep nginx

进程树(pstree)

显示进程树,并且每个进程旁边显示其进程ID(PID)
pstree -p

显示进程树,包括进程的完整命令行和父进程ID
pstree -pu

1.1实时显示进程信息(top)

top

```

下面是 top 命令输出中各项参数及其作用:

顶部概览信息:

  • top - 20:05:04top 命令的启动时间。
  • up 1:46:系统运行时间,这里是1小时46分钟。
  • 2 users:当前登录到系统的用户数量。
  • load average: 0.44, 0.28, 0.17 :系统负载平均值,显示过去1分钟、5分钟和15分钟的平均负载。数值是正在使用CPU的进程数,高于此数值的CPU核心数通常表示高负载。(一般三个数加起来不超过0.7)

CPU 状态:

  • %Cpu(s)
    • us:用户空间占用CPU的百分比(1.5%)。
    • sy:系统空间占用CPU的百分比(2.5%)。
    • ni:优先级级较高的用户进程占用CPU的百分比(0.0%)。
    • id:CPU空闲的百分比(95.7%)。
    • wa:等待I/O操作的CPU时间百分比(0.0%)。
    • hi:处理硬件中断的CPU时间百分比(0.0%)。
    • si:处理软件中断的CPU时间百分比(0.2%)。
    • st:被虚拟机偷取的时间百分比(0.0%)。

内存状态:

  • MiB Mem

    • total:物理内存总量(3870.4 MiB)。
    • free:空闲内存量(1878.6 MiB)。
    • used:已使用内存量(1221.7 MiB)。
    • buff/cache:用作缓冲和缓存的内存量(1043.3 MiB)。
  • MiB Swap

    • total:交换空间总量(3869.0 MiB)。
    • free:空闲交换空间量(3869.0 MiB)。
    • used:已使用交换空间量(0.0 MiB)。
  • avail Mem:可用内存量(2648.6 MiB),这是系统可用于启动新应用程序的估计内存量,包括一部分缓存内存。

进程信息表头:

  • 进程号(PID):进程的唯一标识符。
  • USER:进程所有者的用户名。
  • PR:优先级(越小越优先执行)。
  • NI:nice值(影响进程优先级,越小越优先)。
  • VIRT:虚拟内存大小,进程使用的虚拟内存总量。
  • RES:常驻内存大小,进程实际占用的物理内存量。
  • SHR:共享内存大小,进程与其他进程共享的内存量。
  • %CPU:自上次更新以来,进程占用CPU的百分比。
  • %MEM:自上次更新以来,进程占用内存的百分比。
  • TIME+:进程占用CPU的总时间。
  • COMMAND:启动进程的命令名称。

进程列表:

  • 2593 admire :用户admire的PID为2593的进程。
  • 20 0:优先级和nice值。
  • 4322184 VIRT:虚拟内存。
  • 270420 RES:常驻内存。
  • 131508 SHR:共享内存。
  • S :进程状态(S:睡眠,R:运行,T:停止,Z:僵尸)。定期清除(占用内存)
  • 11.6 %CPU:CPU使用率。
  • 6.8 %MEM:内存使用率。
  • 0:57.56 TIME+:CPU占用总时间。
  • gnome-session COMMAND:进程名称。

1.2(htop)

以彩色界面显示进程信息
htop

设置刷新间隔为5秒
htop -d 5

2.终止进程(kill)

强制 杀死进程ID为PID的进程
kill -9 PID

杀死所有名为nginx的进程
killall nginx

2.1通过名称杀死进程(pkill)

杀死所有与nginx相关的进程
pkill -f nginx

2.2根据名称查找进程ID(pgrep)

3.后台和前台进程控制(bg/fg)

列出所有名为nginx的进程的PID
pgrep nginx

3.1显示后台作业列表(jobs)

列出当前终端的所有后台作业
jobs

4. 跟踪系统调用和信号(strace)

跟踪PID进程的系统调用
strace -p PID

5. 查看内存使用情况(free)

以MB为单位显示内存使用情况
free -m

6.服务管理(service)

6.1查看当前网络服务状态

systemctl status NetworkManager.service

服务状态标志(如 ●):表示服务的总体状态。不同符号有不同的含义,例如:

    ●:服务已激活(active)。
    -:服务未激活(inactive)。
    ?:服务状态未知。

服务名称和服务描述:显示服务的名称和简短描述。

Loaded:显示服务单元文件是否已加载。

    loaded:已加载。
    (/lib/systemd/system/NetworkManager.service; ...:服务单元文件的路径和加载时的状态。

Active:显示服务是否正在运行。

    active (running):服务正在运行。
    since:服务开始运行的时间。

Main PID:服务的主进程ID。

Tasks:服务创建的任务数。

Memory 和 CPU:服务使用的内存和CPU时间。

CGroup:服务所属的控制组(cgroup)信息。

日志条目:服务的日志条目,显示时间、主机名、进程ID、日志级别和消息
6.2启动,停止,重启

systemctl start/stop/restart

二.动态监控

网络监控命令

  1. 显示网络连接和端口使用情况(netstat)

    • netstat -anp | grep :80:查看80端口的连接。
  2. 显示套接字信息(ss)

    • ss -tulnp:显示TCP/UDP端口使用。
  3. 实时显示网络带宽使用情况(iftop)

    • iftop:显示网络接口带宽。

以下是整理好的Linux网络监控命令笔记:

三.网络监控

网络接口配置

  1. ifconfig
    • ifconfig:显示所有网络接口配置。
  2. ip addr show
    • ip addr show:显示所有网络接口配置。

网络连通性测试

  1. ping
    • ping google.com:测试到google.com的连通性。

数据包路径追踪

  1. traceroute
    • traceroute google.com:追踪到google.com的数据包路径。
  2. tracepath
    • tracepath google.com:追踪到google.com的数据包路径。

网络流量捕获和分析

  1. tcpdump
    • tcpdump -i eth0:捕获eth0接口流量。
    • tcpdump -n -v -s 0 -c 100 port 80:捕获端口80的流量。
  2. wireshark
    • 使用Wireshark捕获和分析网络流量。

DNS查询

DNS 是域名系统(Domain Name System)的缩写,它是一个分层的、分布式的命名系统,用于将易于人类记忆的域名(如 www.example.com)转换为计算机用于网络通信的 IP 地址(如 192.168.1.1)
  1. dig
    • dig google.com:查询DNS记录。
相关推荐
布鲁格若门2 分钟前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
C-cat.10 分钟前
Linux|进程程序替换
linux·服务器·microsoft
怀澈12211 分钟前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
DC_BLOG14 分钟前
Linux-Apache静态资源
linux·运维·apache
学Linux的语莫15 分钟前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible
/**书香门第*/28 分钟前
Cocos creator 3.8 支持的动画 7
学习·游戏·游戏引擎·游戏程序·cocos2d
美式小田1 小时前
单片机学习笔记 9. 8×8LED点阵屏
笔记·单片机·嵌入式硬件·学习
skywalk81631 小时前
树莓派2 安装raspberry os 并修改成固定ip
linux·服务器·网络·debian·树莓派·raspberry
猫爪笔记1 小时前
前端:HTML (学习笔记)【2】
前端·笔记·学习·html
_不会dp不改名_1 小时前
HCIA笔记3--TCP-UDP-交换机工作原理
笔记·tcp/ip·udp