网络管理

Posted huanggaoyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络管理相关的知识,希望对你有一定的参考价值。

1.ifconfig

[email protected]:~$ ifconfig
ens33     Link encap:以太网  硬件地址 00:0c:29:8d:19:17  
          inet 地址:10.11.53.127  广播:10.11.53.255  掩
?
码:255.255.255.0
          inet6 地址: fe80::11a9:2011:c04f:8704/64 
?
Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点
?
数:1
          接收数据包:70757 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:20481 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:1000 
          接收字节:12324531 (12.3 MB)  发送字节:5497241 
?
(5.4 MB)
?
lo        Link encap:本地环回  
          inet 地址:127.0.0.1  掩码:255.0.0.0
          inet6 地址: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  跃点数:1
          接收数据包:300 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:300 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:1000 
          接收字节:24839 (24.8 KB)  发送字节:24839 (24.8 
?
KB)

  

ifconfig ens33       #查看制定网卡的信息  
ifconfig ens33 down  #关闭网卡 
ifconfig ens33 up    #启用网卡 

  

2.ping

ping 网址

  • -c 指定ping的次数

  • -b 测试与网关ip的连通性

[email protected]:/$ ping -c 3 www.qfedu.com
PING www.qfedu.com (140.143.51.136) 56(84) bytes of data.
64 bytes from 140.143.51.136: icmp_seq=1 ttl=52 time=42.6 ms
64 bytes from 140.143.51.136: icmp_seq=2 ttl=52 time=43.8 ms
64 bytes from 140.143.51.136: icmp_seq=3 ttl=52 time=54.4 ms
?
--- www.qfedu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 4746ms
rtt min/avg/max/mdev = 42.697/46.997/54.436/5.287 ms

  

3.netstat

查看网络连接的状况<br/> netstat

  • -n 显示端口号

  • -p 显示进程 process

  • -t tcp 协议连接(http协议、socket协议、都是基于tcp/ip协议)

  • -u udp udp协议

  • -a 显示所有

sudo netstat -nt
sudo netstat -nu #显示udp协议连接  
sudo netstat -ntpa #显示所有tcp端口号的使用情况

  

[email protected]:~$ sudo netstat -ntpa | grep 22
[sudo] hgy 的密码: 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      922/sshd        
tcp        0      0 172.20.10.3:22          172.20.10.2:49360       ESTABLISHED 2309/sshd: hgy [pri
tcp6       0      0 :::22                   :::*                    LISTEN      922/sshd

  

4.ps(进程管理)

process status 进程状态的缩写

linux上进程有5种状态:

  1. 运行(正在运行或在运行队列中等待)

  2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

  3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

  4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

  5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行)

ps工具标识进程的5种状态码:

  • D 不可中断 uninterruptible sleep (usually IO)

  • R 运行 runnable (on run queue)

  • S 中断 sleeping

  • T 停止 traced or stopped

  • Z 僵死 a defunct (”zombie”) process

ps 
-e 显示所有的进程 
-u 查看制定用户的进程  
-x 跟a配合使用显示完整的信息

  

[email protected]:~$ ps -au
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        934  0.0  3.6 359128 36416 tty7     Ssl+ 20:08   0:06 /usr/lib/xorg/Xorg -core :0 -seat seat
root        969  0.0  0.1  23004  1364 tty1     Ss+  20:08   0:00 /sbin/agetty --noclear tty1 linux
hgy        2358  0.0  0.5  30028  5068 pts/3    Ss   20:22   0:00 -bash
hgy       32751  0.0  0.7  35808  7660 pts/3    T    21:22   0:00 python
root      33205  0.3  0.3  62168  3900 pts/3    T    22:19   0:01 sudo netstat -
hgy       33332  0.0  0.3  44432  3272 pts/3    R+   22:24   0:00 ps -au

  

ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

  • -A 列出所有的行程

  • -w 显示加宽可以显示较多的资讯

  • -au 显示较详细的资讯

  • -aux 显示所有包含其他使用者的行程

au(x) 输出格式 :

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 
  • USER: 进程拥有者

  • PID: pid

  • %CPU: 占用的 CPU 使用率

  • %MEM: 占用的记忆体使用率

  • VSZ: 占用的虚拟记忆体大小

  • RSS: 占用的记忆体大小

  • TTY: 终端的次要装置号码 (minor device number of tty)

  • STAT: 该行程的状态:

    • D: 不可中断的静止

    • R: 正在执行中

    • S: 静止状态

    • T: 暂停执行

    • Z: 不存在但暂时无法消除

    • W: 没有足够的记忆体分页可分配

    • <: 高优先序的行程

    • N: 低优先序的行程

    • L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)

  • START: 行程开始时间

  • TIME: 执行的时间

  • COMMAND:所执行的指令

5.top

类似Windows系统中的任务管理器

[email protected]:~$ top
top - 22:28:33 up  2:20,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 218 total,   1 running, 151 sleeping,   2 stopped,   1 zombie
%Cpu(s):  0.7 us,  1.0 sy,  0.0 ni, 96.0 id,  2.3 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   985092 total,   157776 free,   531292 used,   296024 buff/cache
KiB Swap:   998396 total,   973808 free,    24588 used.   258700 avail Mem 
?
   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                            
 33373 hgy       20   0   48868   3656   3072 R  1.0  0.4   0:00.18 top                                
   761 root      20   0  280876   8464   3376 S  0.3  0.9   0:01.53 snapd                              
     1 root      20   0  185312   3260   1832 S  0.0  0.3   0:05.78 systemd                            
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd                           
     4 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 kworker/0:0H                       
     6 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 mm_percpu_wq                       
     7 root      20   0       0      0      0 S  0.0  0.0   0:12.00 ksoftirqd/0                        
     8 root      20   0       0      0      0 I  0.0  0.0   0:04.61 rcu_sched                          
     9 root      20   0       0      0      0 I  0.0  0.0   0:00.00 rcu_bh                             
    10 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                        
    11 root      rt   0       0      0      0 S  0.0  0.0   0:00.07 watchdog/0                         
    12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 cpuhp/0                            
    13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs                          
    14 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 netns                              
    15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_tasks_kthre                    
    16 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kauditd                            
[email protected]:/$   

 

top命令的结果分为两个部分:

统计信息:前五行是系统整体的统计信息

进程信息:统计信息下方类似表格区域显示的是各个进程的详细信息,默认5秒刷新一次。

统计信息说明:

  • 第1行:Top 任务队列信息(系统运行状态及平均负载),与uptime命令结果相同。

    • 第1段:系统当前时间,例如:16:07:37

    • 第2段:系统运行时间,未重启的时间,时间越长系统越稳定。

      • 格式:up xx days, HH:MM

      • 例如:241 days, 20:11,表示连续运行了241天20小时11分钟

    • 第3段:当前登录用户数,例如:1 user,表示当前只有1个用户登录

    • 第4段:系统负载,即任务队列的平均长度,3个数值分别统计最近1,5,15分钟的系统平均负载

      • 系统平均负载:单核CPU情况下,0.00 表示没有任何负荷,1.00 表示刚好满负荷,超过1侧表示超负荷,理想值是0.7;

      • 多核CPU负载:CPU核数 * 理想值0.7 = 理想负荷,例如:4核 CPU负载不超过2.8何表示没有出现高负载。

  • 第2行:Tasks 进程相关信息

    • 第1段:进程总数,例如:Tasks: 231 total, 表示总共运行231 个进程

    • 第2段:正在运行的进程数,例如:1 running,

    • 第3段:睡眠的进程数,例如:230 sleeping,

    • 第4段:停止的进程数,例如:0 stopped,

    • 第5段:僵尸进程数,例如:0 zombie

  • 第3行:Cpus CPU相关信息,如果是多核CPU,按数字1可显示各 核CPU信息,此时1行将转为Cpu核数行,数字1可以来回切换。

    • 第1段:us 用户空间占用CPU百分比,例如:Cpu(s): 12.7%us,

    • 第2段:sy 内核空间占用CPU百分比,例如:8.4%sy,

    • 第3段:ni 用户进程空间内改变过优先级的进程占用CPU百分比 ,例如:0.0%ni

    • 第4段:id 空闲CPU百分比,例如:77.1%id,

    • 第5段:wa 等待输入输出的CPU时间百分比,例如:0.0%wa,

    • 第6段:hi CPU服务于硬件中断所耗费的时间总额,例如: 0.0%hi

    • 第7段:si CPU服务软中断所耗费的时间总额,例如:1.8%si,

    • 第8段:st Steal time 虚拟机被hypervisor偷去的CPU时间(如 果当前处于一个hypervisor下的vm,实际上hypervisor也是要消 耗一部分CPU处理时间的)

  • 第4行:Mem 内存相关信息(Mem: 12196436k total, 12056552k used, 139884k free, 64564k buffers)

    • 第1段:物理内存总量,例如:Mem: 12196436k total,

    • 第2段:使用的物理内存总量,例如:12056552k used,

    • 第3段:空闲内存总量,例如:Mem: 139884k free,

    • 第4段:用作内核缓存的内存量,例如:64564k buffers

  • 第5行:Swap 交换分区相关信息(Swap: 2097144k total, 151016k used, 1946128k free, 3120236k cached)

    • 第1段:交换区总量,例如:Swap: 2097144k total,

    • 第2段:使用的交换区总量,例如:151016k used,

    • 第3段:空闲交换区总量,例如:1946128k free,

    • 第4段:缓冲的交换区总量,3120236k cached

进程信息说明:

在top命令中按f按可以查看显示的列信息,按对应字母来开启/ 关闭列,大写字母表示开启,小写字母表示关闭。带*号的是默 认列。

  • A: PID = (Process Id) 进程Id;

  • E: USER = (User Name) 进程所有者的用户名;

  • H: PR = (Priority) 优先级

  • I: NI = (Nice value) nice值。负值表示高优先级,正值表示 低优先级

  • O: VIRT = (Virtual Image (kb)) 进程使用的虚拟内存总量, 单位kb。VIRT=SWAP+RES

  • Q: RES = (Resident size (kb)) 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

  • T: SHR = (Shared Mem size (kb)) 共享内存大小,单位kb

  • W: S = (Process Status) 进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程

  • K: %CPU = (CPU usage) 上次更新到现在的CPU时间占用百分比

  • N: %MEM = (Memory usage (RES)) 进程使用的物理内存百分比

  • M: TIME+ = (CPU Time, hundredths) 进程使用的CPU时间总计 ,单位1/100秒

    • b: PPID = (Parent Process Pid) 父进程Id

    • c: RUSER = (Real user name)

    • d: UID = (User Id) 进程所有者的用户id

    • f: GROUP = (Group Name) 进程所有者的组名

    • g: TTY = (Controlling Tty)启动进程的终端名。不是从终端启动的进程则显示为 ?

    • j: P = (Last used cpu (SMP)) 最后使用的CPU,仅在多CPU环境下有意义

    • p: SWAP = (Swapped size (kb)) 进程使用的虚拟内存中,被换出的大小,单位kb

    • l: TIME = (CPU Time) 进程使用的CPU时间总计,单位秒

    • r: CODE = (Code size (kb)) 可执行代码占用的物理内存大小,单位kb

    • s: DATA = (Data+Stack size (kb)) 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

    • u: nFLT = (Page Fault count) 页面错误次数

    • v: nDRT = (Dirty Pages count) 最后一次写入到现在,被修改过的页面数

    • y: WCHAN = (Sleeping in Function) 若该进程在睡眠,则显示睡眠中的系统函数名

    • z: Flags = (Task Flags <sched.h>) 任务标志,参考 sched.h

  • X: COMMAND = (Command name/line) 命令名/命令行

top命令选项

  • -b:以批处理模式操作;

  • -c:显示完整的治命令;

  • -d:屏幕刷新间隔时间;

  • -I:忽略失效过程;

  • -s:保密模式;

  • -S:累积模式;

  • -i<时间>:设置间隔时间;

  • -u<用户名>:指定用户名;

  • -p<进程号>:指定进程;

  • -n<次数>:循环显示的次数。

top命令交互

  • 常用交互操作

    • 基础操作

      • 1:显示CPU详细信息,每核显示一行

      • d / s :修改刷新频率,单位为秒

      • h:可显示帮助界面

      • n:指定进程列表显示行数,默认为满屏行数

      • q:退出top

    • 面板隐藏显示

      • l:隐藏/显示第1行负载信息;

      • t:隐藏/显示第2~3行CPU信息;

      • m:隐藏/显示第4~5行内存信息;

    • 进程列表排序

      • M:根据驻留内存大小进行排序;

      • P:根据CPU使用百分比大小进行排序;

      • T:根据时间/累计时间进行排序;


以上是关于网络管理的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

使用 Git 来管理 Xcode 中的代码片段

massCode 一款优秀的开源代码片段管理器

如何管理在每个 git 版本中添加私有代码片段?

如何使用Android片段管理器传递变量[重复]

Android:使用支持片段管理器时复制片段