CentOS中的网络管理+进程管理

nmcli命令:

command - line tool for controlling NetworkManager

格式:nmcli [OPTIONS] OBJECT { COMMAND | help }

OPTIONS: = {

-t [erse]

-p [retty]

-m [mode] tabular | multiline

-f [ields] <field1, field2, ...> | all | common

-e [scape] yes | no

-v [ersion]

-h [elp]

}

OBJECT: connection | device

device - show and manage network interfaces

COMMAND := { status | show | connect | disconnect | delete | wifi | wimax }

status:  状态显示

connection - start, stop, and manage network connections

start: 启动

stop: 停止

manage: 管理

COMMAD := { show | up | down | add | edit | modify | delete | reload | load }

示例: nmcli general status 状态显示

modify: 改文件

reload: 重新加载

load: 加载

show: 显示所有网络连接的属性信息

up|down: 启动或禁用指定的网络连接

add: 添加新的网络连接

autoconnect yes|no: 是否自动启动此连接, 在配置文件中添加ONBOOT=yes|no;

ifname IF_NAME: 指定要创建连接的目标网络接口设备名称;

con-name CON_NAME: 为指定的网络接口设备创建一个连接名称;

type TYPE: 指定网络设备的接口类型;

示例:

# nmcli connection add sutoconnect yes ifname eno67109432 con-name eno666 type ethernet

delete: 删除指定的网络连接

#nmcli connection delete CON_NAME

示例:

#nmcli connection delete eno666

reload: 不重启网络接口, 但重新加载其配置文件中的配置信息;

modify:

modify [ id | uuid | path ] <ID> [+|-]<setting>.<property> <value>

<setting>:

802-3-ethernet.mtu

connection.autoconnect

ipv4.addresses

ipv4.dns

ipv4.gateway

ipv4.method

示例:

# nmcli connection modify "系统\ eno50332208" ipv4.addresses 1.2.3.4/8 ipv4.dns 202.202.222.222 ipv4.gateway 1.1.1.1

nmtui:

nmtui - Text User Interface for controlling NetworkManager

CentOS6:

system-config-network[-tui]

setup --> 网络配置

注意: 上述命令虽然可以使用简单的图形界面, 但都是修改了配置文件, 所以需要重启网络接口才能使配置生效;

网络组(Network Teaming)

网络组: 是将多个网络接口设备聚合在一起的方法, 其目的是实现冗余容错以及提高可用性和吞吐量;

网络组与以往的Bonding技术相比, 具有更好的性能以及更好的扩展性;

在CentOS7中, 网络组是由内核中的一个内核驱动和一个名为teamd的守护进程来实现的;

网络组可以实现多个工作模式, 被称为"运行器(runner)";

broadcast

roundrobin

activebackup

loadbalance

lacp(IEEE 802.3ad, Link Aggregation Control Protocol, 链路聚合控制协议)

网络组连接的特点:

1.启动网络组接口并不会自动启动网络组中的其他port接口;

2.启动网络组终端port接口, 也不会自动启动网路组接口;

3.禁用网络组接口, 则会立即禁用网络组中的port接口;

4.对于没有port接口的网络接口而言, 只能配置静态IP地址, 不能设置从DHCP获取; 如果设置了, 网络组接口就会一直等待port接口的加入;

创建网络组接口的方法:

nmcli connection add type team con-name TEAM_COM_NAME ifname IF_NAME config JSON

JSON是用来指定runner的方式, 其格式:

‘{"runner": {"name": "METHOD"}}‘

示例:

# nmcli connectin add type team con-name class17 ifname class17config ‘{"runner": {"name": "loadbalance"}}‘

# nmcli connection modify class17 ipv4.addresses 172.16.203.205/16

# nmcli connection modify class17 ipv4.method manual

创建port接口

nmcli connection add type team-slave [con-name CON_NAME] ifname IF_NAME master TEAM_NAME

注意: 如果不指定con-name, 则默认的con-name为team-slave-IF_NAME

示例:

# nmcli connectin add type team-slave con-name eno67109432 ifname eno67109432 master class17

# nmcli connectin up class17

# nmcli connectin up eno67109432

# nmcli device disconnect eno67109432

创建网络组也可以直接改对应的连接的配置文件:

网络组接口:

DEVICE=class17

TEAM_CONFIG="{\"runner\": {\"name\": \"activebackup\"}}"

DEVICETYPE=Team

BOOTPRORO=noe

NAME=class17

ONBOOT=yes

IPADDR=172.16.203.205

PREFIX=16

port接口:

NAME=team-slave-eno33554984

DEVICE=eno33554984

ONBOOT=yes

TEAM_MASTER=class17

DEVICETYPE=TeamPort

进程管理

在进程管理中, 经常会需要进行保存现场和恢复现场

保存现场: 将数据和状态保存

恢复现场: 将数据和状态恢复

在linux中进程和线程基本无差别

在windows中划分明显, 一个CPU只能执行一个进程;

写时复制: 即在数据发生改变时, 对数据进行复制;

所谓进程: process, 一个活动的程序实体的副本;

生命周期可能包含一个或多个执行流;

创建进程:

每个进程的组织结构是一致的;

内核在正常启动并且全面接管硬件资源之后, 会创建一个Init的进程; 而这个名叫init的进程负责用户空间的进程管理;

CentOS5及以前: SysV Init, Classic Init

有缺陷: 在启动系统时, Init通过写脚本的方式来创建各个子进程; 利用shell来实现, 因此其执行速度非常慢; 导致系统的启动速度和进程的创建速度都非常慢;

CentOS6: upstart, 由Ubuntu研发的新型的Init进程; 可以并行的启动某些有关联的服务进程; 在创建进程的时候, 可以多创建进程; 如果有多个CPU或这个多颗CPU核心的话, 其进程的创建速度会有比较明显的变化; 第一个进程名称仍然是init;

CentOS7: Systemd(系统的守护神), 参考了MAC OS的启动逻辑开发的一款新款的init程序; 其可以自身独立完成整个操作系统的启动工作; 也就是说, 在开机并加载内核之后, 只需要启动一个systemd进程就可以将其他各服务进程启动起来, 从而引导整个系统启动;

除了init进程之外, 其他的各个进程都是由其父进程创建的;

由fork()系统调用来实现的;

每个父进程通过fork()系统调用, 复制自身的数据给子进程使用; 这种复制方式不是立即复制, 而是写时复制(CoW);

终止进程:

任何父进程创建的子进程都必须由父进程亲自销毁;

任何的进程的父子关系都保存在task struct中;

进程优先级:

0-139个等级;

0保留没用

实则1-139

1-99: 实时优先级, 数字越大优先级越高; 在系统启动时启动的进程;

100-139: 静态优先级, 数字越小优先级越高;

在用户执行某些应用程序的时候启动的进程;

nice值:

-20~19: 默认的nice值0;

只有管理员才能使用负整数的nice值, 以提升进程的优先级;

而普通用户只能使用正整数的nice值, 以降低进程的优先级;

划分了140个进程队列;

Big O标准:

O(1), O(logN), O(N), O(N^2), O(2^N)

进程的类型:

按照进程的启动方式:

守护进程:

Daemon, 通常是在系统引导的过程被启动的, 与任何的终端无关; 也可以通过终端启动;

用户进程:

用户登录到系统之后, 通过终端启动的进程;

按照进程的运行位置:

前台进程:

在进程启动之后, 进程一直占用标准输出或者标准输入或者同时占用标准输出和标准输入;

后台进程:

在进程启动之后, 进程不占用标准输出和标准输入;

按照进程对于资源消耗:

CPU-Bond: 非交互式的进程;

IO-Bond: 编辑器等各种交互式进程;

Linux系统上与进程有关的命令(查看命令和管理类命令):

pstree, ps, pidof, pgrep, pkill, top, htop, glances, dstat, pmap, vmstat, bg, fg, jobs, kill, killall, nohup, nice, renice, ......

pstree:

pstree - display a tree of processes

ps

ps - report a snapshot of the current pocesses.

ps [options]

1. UNIX options, which may be grouped and must be preceded by a dash.

2. BSD options, which may be grouped and must not be used with a dash.

3. GNU long options, which are preceded by two dashes.

常用选项:

BSD风格的选项:

a: 显示所有与终端相关的进程;

x: 显示所有与终端无关的进程;

u: 显示发起进程的用户的账户名称;

常用的选项组合之一: aux

ps aux命令显示的结果中各字段的含义:

USER: 进程的所有者

PID: 进程标识符

%CPU: 进程占用的CPU处理时间的百分比;

%MEM: 进程占用的物理内存的百分比;

VSZ: 虚拟内存集(可交换内存集)

RSS: 常驻内存集

TTY: 进程与哪个终端相关; ? 表示与终端无关

STAT

R: running, 正在运行的进程;

S: interuptible sleeping, 可中断的睡眠状态;

D: uninteruptible sleeping, 不可中断的睡眠状态; Disk Block;

T: Trace/STOPPED, 被跟踪/已停止; (通常是子进程在等待父进程将其杀死)

Z: Zombie, 僵死态;

+: 前台进程

l: 包含多线程的进程

<: 高优先级进程

N: 低优先级进程

s: session leader, 由子进程的父进程;

START: 进程开始执行的时候时间戳

TIME: 进程累计的CPU占用时间

COMMAND: 启动进程的命令行参数

UNIX风格的选项:

-e: 显示所有进程;

-f: 显示完整格式的进程信息

-F: 显示完整格式的进程信息, 与-f几乎相同;

常用的选项组合之二:  -ef

PPID: 父进程PID

C: 表示进程占用的CPU时间的百分比

常用的选项组合之二: -eF

SZ: 虚拟内存集

RSS: 常驻内存集

PSR: 表示此进程在哪个CPU核心上运行;

-H: 以层级结构显示进程的父子关系;

常用的选项组合之四: -eFH

o|-o field1, field2, ...: 以自定义字段的方式显示进程相关信息;

field: pid, ppid, ni, rtprio, psr, pcpu, stat, comm, user, tty, vsz, rss, ......

常用的选项组合之五: -eo | axo field1, field2, ...

pgrep, pkill:

pgrep, pkill - look up or signal  processes based on name and other attributes

根据进程名称或其他属性查看进行或向进程发送信号;

pgrep [options] pattern

pkill [options] pattern

常用选项:

-u uuid: 显示进程的有效用户;

-U uid: 显示进程的真实用户;

-t TERM: 显示指定的终端相关的进程;

-l: 显示进程名称;

-a: 显示进程的完整的命令行参数;

pidof:

显示指定进程名称对应的进程ID;

top:

top - display Linux processes

top首部:

第一行: uptime信息:

当前系统时间

系统的运行时长

当前登录系统的用户总数

过去1分钟, 5分钟, 15分钟的在CPU上等待运行的进程队列的长度;

第二行:

系统中运行的进程总数;

正在运行的进程数;

处于睡眠状态的进程数

已停止的进程数

僵死态的进程数

第三行: CPU时间占用百分比

us: user space, 用户空间的进程占用的CPU时间的百分比

sy: system, 内核空间的内核进程占用的CPU时间的百分比

ni: nice, 使用nice值调整了进程优先级之后额外多占用的CPU时间百分比;

id: idle, CPU空闲时间的百分比

wa: waiting, 等待IO完成所消耗的CPU时间的百分比

hi: hardware interupting, 处理硬件中断时间所消耗的CPU时间的百分比;

si: software interupting, 处理软件中断时间所消耗的CPU时间的百分比;

st: stolen, 被虚拟化程序等偷走的CPU时间的百分比

第四行: 以KB为单位显示物理内存空间的使用情况;

total: 物理内存空间的总大小

free: 空闲的物理内存空间大小

userd: 已经被使用的物理内存空间大小

buffer/cache: 缓冲区和缓冲区消耗的物理内存空间大小

auail mem: 真正可用的内存空间大小;

第五行: 以KB为单位显示swap空间的使用情况

交互式命令:

1: (数字) 显示或隐藏CPU核心信息

P: 根据CPU占用百分比进行排序

M: 根据物理内存占用百分比进行排序

T: 根据累计CPU占用时间进行排序

l: (字母)关闭或显示uptime信息

t: 关闭或显示第二, 第三行信息

m: 关闭或显示第四, 第五行信息

q: 退出top交互模式

s: 修改top的刷新时间间隔

k: 终止某个指定PID的进程的运行

常用的选项:

-d #: 指定top刷新的时间间隔, 默认是3秒;

-b: 按批次显示进程信息

-n #: 通常与-b选项一起使用, 表示显示多少批;

时间: 2024-12-23 19:19:39

CentOS中的网络管理+进程管理的相关文章

CentOS中Python pip包管理工具的安装和使用

Python有很多第三方的模块或包,要管理这些包,有很多方法.python的pip包管理工具,类似与CentOS中yum,使用该工具安装Python包非常方便. 从Python内部来说,pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品.distribute是setuptools的取代(Setuptools包后期不再维护了),pip是easy_install的取代. pip的安装前需要setuptools 或者 distribute,如果你使用的是P

进程管理详解

一.进程概述 1.进程的概念 用户通过执行命令,将程序提起到内存中运行,运行中的程序即称为进程.内核为了方便管理,根据内核发起者的权限.属性等参数,为每个进程设置一个独立的PID号,通过PID号来判断进程的权限. 2.进程的分类: 2.1根据进程与终端的关系划分: 守护进程:在系统引导过程中启动的进程,与终端无关的进程 交互式进程(用户进程):用户通过终端启动的进程 在终端上运行的进程,可以被送往后台,以守护进程的模式运行. 2.2根据系统资源的占用比划分: CPU密集型:CPU-Bound,在

Linux进程管理(鸟哥)

进程管理知识点总结: 一,什么是进程 1,进程与程序 (1)程序 (program):通常为 binary program ,放置在储存媒体中 (如硬盘.光盘.软盘.磁带等), 为实体文 件的型态存在: (2)进程 (process):程序被触发后,执行者的权限与属性.程序的程序代码与所需数据等都会被加载内存中, 操 作系统并给予这个内存内的单元一个标识符 (PID),可以说,进程就是一个正在运作中的程序. (3)父进程和子进程:ps -l 父进程:pid 子进程:ppid 注:日常运维中,ki

CentOS的进程管理二

在上一篇中已经写了一些进程管理的相关命令: pstree, ps,pgrep,pidof, top 下面继续: vmstat ---- 显示虚拟内存统计 格式: vmstat [options] [delay [count]] 显示结果摘要: procs-----------memory-------------swap-- -----io---- -system-- ------cpu----- r b   swpd   free  buff cache   si  so    bi   bo

Linux中的进程管理

什么是进程,顾名思义嘛!就是正在进行的程序,在Linux中,只要开启服务就会在后台对应的有了进程.那么进程管理究竟对于我们的日常运维工作有什么用呢? 主要作用有三点: 首先,最重要的是查看服务器健康状态 第二,查看系统中运行的所有进程 第三,杀死进程 我们用到进程最重要的作不就是用就是用来查看服务器的健康状态,做运维的不就是为了保证服务器能够一直这么正常运行吗? ① top命令 -->查看服务器健康状态 终端直接输入top,如图: 这里面最重要的就是前面的那5行,其中几个比较重要的参数如下: l

windowsf进程管理器中进程解释

(1)[system Idle Process] 进程文件: [system process] or [system process] 进程名称: Windows内存处理系统进程 描 述: Windows页面内存管理进程,拥有0级优先. 介 绍:该进程作为单线程运行在每个处理器上,并在系统不处理其他线程的时候分派处理器的时间.它的cpu占用率越大表示可供分配的CPU资源越多,数字越小则表示CPU资源紧张. (2)[alg.exe] 进程文件: alg or alg.exe 进程名称: 应用层网关

操作系统核心原理-3.进程管理(中):进程调度

PS:在多进程并发的环境里,虽然从概念上看,有多个进程在同时执行,但在单个CPU下,在任何时刻只能有一个进程处于执行状态,而其他进程则处于非执行状态.那么问题来了,我们是如何确定在任意时刻到底由哪个进程执行,哪些不执行呢?这就涉及到进程管理的一个重要组成部分:进程调度,跟随本篇来一起复习下进程调度吧! 一.进程调度基础 1.1 进程调度定义 进程调度是操作系统进程管理的一个重要组成部分,其任务是选择下一个要运行的进程. 1.2 进程调度目标 首先,一般的程序任务分为三种:CPU计算密集型.IO密

进程控制在进程管理中的作用

 进程控制是进程管理中最基本的功能.它用于创建一个新进程,终止一个已完成的进程,或者去终止一个因出现某事件而使其无法运行下去的进程,还可负责进程运行中的状态转换. 一.创建进程 1.引起创建进程的事件 在多道程序环境中,只有(作为)进程(时)才能在系统中运行.因此,为使程序能运行,就必须为它创建进程.导致一个进程去创建另一个进程的典型事件,可以有以下四类: 1) 用户登录 在分时系统中,用户在终端键入登录命令后,如果是合法用户,系统将为该终端建立一个进程,并把它插入到就绪队列中. 2)作业调

windows 进程管理器中的内存是什么意思?

*内存 - 工作集:私人工作集中的内存数量与进程正在使用且可以由其他进程共享的内存数量的总和. *内存 - 峰值工作集:进程所使用的工作集内存的最大数量. *内存 - 工作集增量:进程所使用的工作集内存中的更改量. *内存 - 私人工作集:工作集的子集,它专门描述了某个进程正在使用且无法与其他进程共享的内存数量. *内存 - 提交大小:为某进程使用而保留的虚拟内存的数量. *内存 - 页面缓冲池:由内核或驱动程序代表进程分配的可分页内核内存的数量.可分页内存是可写入其他存储媒体(例如硬盘)的内存