继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

linux 大总结

慕的地6264312
关注TA
已关注
手记 99
粉丝 16
获赞 56

1.Linux介绍

Linux 内核最初只是由芬兰人林纳斯·托瓦兹( Linus Torvalds) 在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。 Linux 能运 行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。 Linux 继承 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。


目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、 Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等,其中以 centos在企业中使用最广。

http://img2.sycdn.imooc.com/60e475d50001ed0b10230688.jpg

http://img2.sycdn.imooc.com/60e475e00001a81a09470562.jpg

2.Centos 安装

1)下载地址

官网下载链接: http://isoredirect.centos.org/centos/7/isos/x86_64/


阿里云站点: http://mirrors.aliyun.com/centos/7/isos/x86_64/


2)安装 VMWARE15.5

  参考地址:https://blog.csdn.net/weixin_43921994/article/details/105765088


vmware是一个虚拟化工具,它可以安装在我们windows,然后在 vmware里安装 linux系统


3)在VMWARE中安装linux系统

第一步 :选择创建新的虚拟机
http://img2.sycdn.imooc.com/60e475f70001363910040752.jpg

第二步:选择默认典型,下一步

http://img2.sycdn.imooc.com/60e4760b0001f25e10000753.jpg

第三步:选择默认的稍后安装操作系统

http://img2.sycdn.imooc.com/60e4761d00016e2310040752.jpg

第四步:选择linux和对应的安装版本

http://img1.sycdn.imooc.com/60e4762f0001fb9a10040752.jpg

第五步:安装位置选择资源充足的盘

http://img3.sycdn.imooc.com/60e476470001b24609940752.jpg

第六步:磁盘大小更改成40G,大数据组件需要较多的存储,资源不充足最少 20G

http://img1.sycdn.imooc.com/60e4765c000184fe10040752.jpg

第七步:完成之后界面

http://img1.sycdn.imooc.com/60e47680000150cc10040752.jpg

第八步:选择上面虚拟机中的设置修改

http://img1.sycdn.imooc.com/60e476980001ac6210040752.jpg

#内存:改为 2-4GB(电脑总内存 8GB就每台给 2G,电脑内存 16GB就每台给 4G)

#CPU:可以选择1*2或 2*2核心的配置

#ISO 镜像选择 :一定选择自己准备的ISO镜像的路径

#网络:此处选择 nat模

http://img1.sycdn.imooc.com/60e476af0001a9f808680941.jpg

第九步:选择第一行的install安装

默认进入选型是第二个,用鼠标左键点入进入黑窗口,按键盘的向上键跳到第一行,选择Enter确认安装想要把鼠标跳出黑窗口,按ctrl+alt键

http://img1.sycdn.imooc.com/60e476c40001dacd11520595.jpg

第十步:等待出现这个界面,选择英文即可

http://img3.sycdn.imooc.com/60e476d8000159ed10980540.jpg

第十一步进入配置修改界面

#修改时间,日期,时区选择亚洲上海,选择左上角 done保存退出

#更改安装包的方式,默认 mininal安装代表最小化;更改安装方式为 GNOME desktop(这是桌面化安装生产机房一般采专用此方式 ),完成后左 上角选择 done。

http://img1.sycdn.imooc.com/60e476f00001749011390549.jpg

#配置 hosts主机名和网络,此处我们只设置一下 host名字,进入系统后采用命令行的方式修改也可以

我们将host名设置为 node01,选择 apply应用,左上角 done退出。其中 ens33是网卡的名字

http://img2.sycdn.imooc.com/60e477080001449807980594.jpg

第十二步:选择右下角开始安装

http://img1.sycdn.imooc.com/60e4771b000154e308000600.jpg

第十三步:设置root用户密码和普通用户的密码

#更改 root密码: ********

#设置普通用户名称 test,密码 *********

http://img1.sycdn.imooc.com/60e4773800017f3808020601.jpg

第十四步:等待安装

http://img1.sycdn.imooc.com/60e477540001c4f808000600.jpg

第十五步:安装完成,选择reboot重启

http://img2.sycdn.imooc.com/60e4776e00013ab208000600.jpg

#设置 lisense许可证

http://img2.sycdn.imooc.com/60e477860001139f12800768.jpg

第十六步:一路next

http://img2.sycdn.imooc.com/60e477ac0001084010720527.jpg

4)网络配置

选择虚拟网络编辑器

http://img2.sycdn.imooc.com/60e477c5000102de11570732.jpg

选择 nat模式,然后点击右下角的更改设置

设置子网 IP:192.168.52.0

子网掩码:255.255.255.0

http://img1.sycdn.imooc.com/60e477df0001561807130685.jpg

http://img3.sycdn.imooc.com/60e477f10001371c13060778.jpg

个人电脑网络设置:找到网络连接中的VMnet8

http://img4.sycdn.imooc.com/60e478260001009412690611.jpg

网卡设置:#vim /etc/sysconfig/network-scripts/ifcfg-ens33 进入网卡设置

编辑

http://img3.sycdn.imooc.com/60e4784b0001cdb706870618.jpg

#重启网卡 service network restart


测试网络是否连通外网:ping www.baidu.com


到此 centos7.4安装完成,网络也配置成功


5)Linux远程连接工具

Linux系统中是通过 SSH服务实现的远程登录功能,默认 ssh服 务端口号为 22。Window系统上Linux 远程登录客户端有 SecureCRT, Putty, SSH Secure Shell,XShell等


SecureCRT安装:https://blog.csdn.net/qq_39052513/article/details/100272502


3.Linux文件与目录结构

1)文件

Linux系统中一切皆文件


2)目录结构

http://img2.sycdn.imooc.com/60e478680001eeb505760812.jpg

4.linux中文本编辑器

vim是从 vi 发展出来的一个文本编辑器 。代码补完、编译及错误跳转等方便编程的功能特别丰富


1.进入插入模式

    i: 插入光标前一个字符

    I: 插入行首

    a: 插入光标后一个字符

    A: 插入行未 

    o: 向下新开一行 ,插入行首

    O: 向上新开一行 ,插入行首

2.进入末行模式

    在命令模式下 ,用户按 “:”键即可进入末行模式

3.退出   

    :q 退出 

    :q! 退出并不保存

    :w 保存 :wq 保存并退出

    :x 保存并退出

4.查找命令

    /: str查找 

    n: 下一个

    N:上一个

5.替换命令

    把 abc全部替换成 123

    :%s/abc/123/g---末行模式下,将当前文件中的所有 abc替换成 123。如果不使用 g, 则只会替换每一行的第一个 abc

    :1, 10s/abc/123/g---末行模式下,将第一行至第 10行之间的 abc替换成 123

6.vim里面执行shell下命令

    末行模式里输入 !,后面跟命令

7.进入命令模式

    ESC:从插入模式或末行模式进入命令模式

8.移动光标

    h: 左移 

    j: 下移 

    k: 上移 

    l: 右移 

    M: 光标移动到当前屏幕的中间行

    L: 光标移动到当前屏幕最后一行行首

    gg: 光标移动 文件开头

    G: 光标移动到文件末尾

    G: 移动到指定行 ,行号 G (扩展:打开文件时跳转指定行 ,vi 文件名 +行数 ) 

    w: 向后一次移动一个字

    b: 向前一次移动一个字

    {: 按段移动 ,上移 

    }: 按段移动 ,下移 

    Ctr-d: 向下翻半屏

    Ctr-u: 向上翻半屏

    Ctr-f: 向下翻一屏

    Ctr-b: 向上翻一屏

9.撤销命令

    u: 一步一步撤销

    Ctr-r: 反撤销

10.删除命令

    x: 删除光标后一个字符 ,相当于 Del 

    X: 删除光标前一个字符 ,相当于 Backspace 

    dd: 删除光标所在行 ,n dd 删除指定的行数

    D: 删除光标后本行所有内容 ,包含光标所在字符

    d0: 删除光标前本行所有内容 ,不包含光标所在字符

    dw: 删除光标开始位置的字 ,包含光标所在字符

11.复制粘贴

    yy: 复制当前行 ,n yy 复制 n 行 

    p: 在光标所在位置向下新开辟一行 ,粘贴

12.替换操作

    r: 替换当前字符

    R: 替换当前行光标后的字符

13.文本行移动

    >>: 文本行右移

    <<: 文本行左移

14.重复命令

    .: 重复上一次操作的命令

15.可视模式

    v: 按字符移动 ,选中文本

    V: 按行移动 ,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除 ,复制 ,左右移动


5.linux常用基本命令

1)基础快捷键

ctrl + c 停止进程 

ctrl+l 清屏;彻底清屏是: reset 

ctrl + q 退出 

善于用 tab键补全 提示 (更重要的是可以防止敲错 ) 

上下键 查找执行过的命令

ctrl +alt

2)文件命令

#pwd 显示当前工作目录的绝对路径

#ls,ll,ll -a 

#cd 进入到某一个目录下

#mkdir 创建文件夹 

#rmdir 删除文件夹 

#touch 创建文件 

#cp 复制文件 /文件夹 

#cp -r 递归复制,多级目录

#mv 移动文件 夹/重命名

#rm 删除文件 

#rm -rf 强制删除文件不需要确认

#cat 查看文件

#more 查看文件

#less 查看文件

#echo 输出 #head 查看文件头部

#tail 查看文件末尾

#tail -f 实时查看文件末尾

#nl 文件带行号标准输出

# > 覆盖 

# >> 追加

#ln -s 目标目录 软链接地址 创建 软链接

rm -rf 软链接地址 删除软连接

ln -snf 新目标目录 软链接地址 修改软连接

# history 查看已经执行过历史命令

3)文本处理类命令

wc [option] [file]... 

    -l: 统计行数 

    -c: 统计字节数 

    -w;统计单词数

 

tr: 转换字符或删除字符 

    tr '集合 1' '集合 2' 

    tr -d '字符集合 '

 

cut:

    -d字符:指定分隔符   

    -f#: 指定要显示字段   

    单个数字:一个字段   

    逗号分隔的多个数字:指定多个离散字段   

    -:连续字段,如 3-5;

    例子:cut test.txt -f "1,3" -d " "------# 以空格分开每一行并输出第 1个和第 3个字段

 

sort [option] file... 

    -f: 忽略字符大小写;

    -n: 比较数值大小;

    -t: 指定分隔符 

    -k: 指定分隔后进行比较字段

    -u: 重复的行,只显示一次;

uniq:移除重复的行

    -c:显示每行重复的次数

    -d:仅显示重复过的行

    -u: 仅显示不曾重复的行

 

 

4)系统信息命令

#date 查看当前系统时间

#data -s 修改时间 

#w 显示登陆用户

#uname -a 查看系统内核

#cat /proc/cpuinfo 查看 cpu信息 

#cat /proc/meminfo 查

5)压缩/解压命令

#tar -xvf file.tar 解压 .tar结尾的 

#tar -zxvf file.tar.gz 解压 .tar.gz文件 

#tar -cf file.tar file 创建包含 files的文件 file.tar 

#gzip -d file.gz 将 file.gz解压缩为 file

6)网络命令

#ping host(主机名 ) 网络是否连通 

#telnet ip 端口  网络是否连通

#curl url 调用

#ifconfig 查看本机 ip等信息

#telnet ip 端口 查看端口是否占用

(没有这个命令执行 yum -y install telnet ) 

#wget file 下载文件 

#tcpdump tcp port 端口 抓包 tcp

#hostname  查看主机名

7)权限命令

1.文件权限命令:

#chmod 777 file 为所有用户添加读,写,执行权限

#chmod 755 file 为所有者添加 rwx权限,为组和其他用户添加

rx权限 

2.文件所属用户和用户组权限命令:

#chown hadoop:hadoop file 将 file的用户和用户组都改为 hadoop

8)用户管理命令

useradd 用户名 添加新用户 

useradd -g 组名 用户名 给某个组创建用户

passwd 用户名 设置用户密码 

cat /etc/passwd 查看创建了那些用户

Su 用户名 切换用户 

userdel 用户名 删除用户但保存用户主目录

userdel -r 用户名 用户和用户主目录,都删除

whoami 显示自身用户名称

who am i 显示登录用户的用户名

usermod -g 更改用户组 用户名

 

 

例子:

2.修改配置文件

[root@hadoop101 ~]#vi /etc/sudoers 修改 /etc/sudoers 文件,找到下面一行 (91行),在 root下面添加一行,

如下所示:

## Allow root to run any commands anywhere 

root ALL=(ALL) ALL 

hadoopALL=(ALL) ALL 

或者配置成采用 sudo命令时,不需要输入密码

## Allow root to run any commands anywhere 

root ALL=(ALL) ALL 

hadoopALL=(ALL) NOPASSWD:ALL 

修改完毕,现在可以用 hadoop帐号登录,然后用命令 sudo ,即可 获得 root权限进行操作。

9)用户组管理命令

groupadd 组名 添加组

groupdel 组名 删除组

groupmod -n 新组名 老组名 指定工作组的新组名

cat /etc/group 查看创建了哪些组

10)搜索查找命令

1.find查找文件或者目录

    常用: find / -name file 查找 /目录下 file文件

2.grep 过滤查找及“ “|”管道符 (详细使用见下一章中的 grepgrep)

    1.管道符,“ ,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

    2.grep常常跟在 |的后面做过滤查找

    3.反转 grep -v 

    4.示例 

        #查找某文件在第几行 ls | grep -n test 

        #查找某进程 ps -ef | grep PID 

        #查看日志中含有 errer cat file |grep error

3.which 查找命令

    white 命令

11)磁盘分区挂载命令

df -h 查看磁盘使用 /剩余空间 

fdisk -l 磁盘分区

mount 挂载

umount 卸载

12)进程管理命令

UID 用户 ID 

PID 进程 ID 

ps aux | grep xxx 查看系统中所有进程

ps -ef | grep xxx 可以查看子父进程之间的关系

kill -9 PID 强制杀死进程

top 查看所有进程 /cpu/内存 /负载 

netstat -anp |grep 进程号 查看该进程网络信息

netstat -nlp | grep 端口号 查看网络端口号占用情况

13)crond系统定时任务

Crontab -e 编辑定时文件


参考文档:https://blog.csdn.net/qq_22172133/article/details/81263736


14)rpm包管理与yum管理

1.rpm相关命令:

rpm -qa|grep 包名 查找已经安装的 rpm某包 

rpm -ivh 包名 安装 rpm包 

rpm -e 包名 删除 rpm包 

rpm -e -- nodeps 软件包 删除 rpm包不检查依赖

2.yum源管理:详情见链接文档

https://blog.csdn.net/qingfenggege/article/details/80394564 

3.yum在线安装 lrzsz上传下载工具

yum -y install lrzsz

15)ssh免密

1.ssh是什么? 

SSH(SecureShell),是建立在应用层基础上的安全协议,其 SSH客户端适用于多种平台,可以有效防止远程管理过程中的信息泄露问题。

2.配置 hadoop用户 ssh免密: 

ssh-keygen -t rsa 

三台机器在 hadoop用户下,执行以下命令将公钥拷贝到 node01服 务器上面去

ssh-copy-id node01 

node01在 hadoop用户下,执行以下命令,将 authorized_keys拷贝 到 node02与 node03服务器 

cd /home/hadoop/.ssh/ scp authorized_keys node02:$PWD

scp authorized_keys node03:$PWD

16)防火墙

systemctl stop firewalld.service 关闭防火墙

systemctl status firewalld.service 查看防火墙状态

systemctl disable firewalld.service 禁止开启启动防火墙

6.linux实用故障排查

1)排查思路

大数据集群运行在linux系统上总会遇见各种各样的问题,我们要定位问题,基本从这几个方面入手排查: cpu, 内存,磁盘 IO,网络, GC等。


2) cpu

一些概念:多核,超线程,CPU频率( 2.2GHZ)(节能模式,普通模式,超能模式,bios里设置, 搭集群要注意下这个参数尽量关闭节能模式) bios里可以关闭 。



#1 查看物理 CPU个数

cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l



#2查看逻辑 cpu个数

cat /proc/cpuinfo |grep "processor"|wc -l


#3 在生产集群中我们通常通过 top来查看 cpu的使用率来判断系统

的负载情况 ,Top 然后按 1,可以看到 cpu的使用率


3)内存

#1,常见内存大小 64 G--- 128G-- 256G--- 512G,通过 free -g来查看系 统内存是否不足


4)磁盘IO

#1磁盘种类:

sata(150M/s左右 ) sas(300 M/S左右) ssd(最快也最贵)一般磁盘 2T-4T,服务器支持的最大存储也不同,比较常见的 48T,一 般服务器可以支持 12-24块盘 。



#2磁盘 io的查看: 可以定位是否是因为 io过大导致性能下降

iostat -mx 2

如果没有这个命令:yum install -y sysstat


#3 df -h 查看磁盘空间


#4 df -T 查看磁盘的格式化的格式,主流一般是 xfs和 ext4,系统盘默认是 xfs,后续添加数据盘尽量也是 xfs格式这样统一比较好,也方便写脚本批量挂盘


#5 lsblk 能够查看盘与分区以及 ssd盘,用 fdisk查看盘可能识别不到ssd


#6 fdisk -l 查看磁盘与未挂载的磁盘和分区信息


#7 cat /etc/fstab 查看磁盘挂载信息,新加磁盘要手动永久挂在需要在这个配置文件里添加, 6列。如果这个文件写错了,重启服务器正常模式下是启动不了的!!!


5)网络

#1 查看是否 ping通:ping IP



#2 查看某端口是否被监听

示例:比如你起启动datanode没有启动,查看日志报错: Address in used ,翻译过来就是端口被占用,那你得查看下这个端口被哪个程序占用了,就用 netatat -anp|grep 端口号,就可以知道它的进程,比如下图进程pid就是 107484,就可以用 kill -9 PID强制杀死


#3网卡模式配置( bound6,负载均衡


6)系统负载

Top

Uptime

W

cat /proc/loadavg


7)GC问题

#1是否 full GC(GC是 java里面 JVM的东西,不了解的可以去看下)

Jps查出要查看的 pid,用 jstat -gcutil pid,看第四列 O如果 100%就是 fullGC


8)日志查看

#1首先要知道日志的位置 ,一种是去配置文件查看有没有配置相关位置,一种是去通过进程查看如下 用 ps -ef |grep pid通过显示出来的信息可以找到日志的位置 。


# 2查看日志

实时查看日志文件后100行: tail -f 100 file

静态查看:vim filelog,然后 可以通过关键字 error/warn等查


7.linux运维之生产监控工具

1.zabbix:https://blog.51cto.com/u_14154700/2419934


2.nagios(网络监控):https://www.cnblogs.com/52-qq/p/9773880.html


3.Prometheus(普罗米修斯 ):https://blog.csdn.net/csolo/article/details/82460539


4.ganglia (hadoop集群监控常用工具):https://www.cnblogs.com/marility/p/9444357.html


8.自动化运维工具ansible与pdsh

https://www.cnblogs.com/keerya/p/7987886.html#_label2_0_1


https://blog.csdn.net/weixin_42193400/article/details/82148974


9.并行管理工具 pdsh与 pssh

相关文档:https://www.cnblogs.com/goldenblade/p/9604642.html


10.linux知识点扩展

1)运行级别

运行级别 0:系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动

运行级别 1:单用户工作状态 root权限,用于系统维护,禁止远程登陆运行级别


2:多用户状态 (没有 NFS) 运行级别


3:完全的多用户状态 (有 NFS),登陆后进入控制台命令行模式运行级别


4:系统未使用,保留运行级别


5:X11控制台,登陆后进入图形 GUI模式 运行级别 6:系统正常关闭并重启,默认运行级别不设为


6,否则不能正常启动


2)运行级别原理

1.在目录 /etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)


2.在/etc/rc.d下有 7个名为 rcN.d的目录,对应系统的 7个运行级别


3.rcN.d目录下都是一些符号链接文件,这些链接文件都指向 init.d目 录下的 service脚本文件,命名规则为 K+nn+服务名或 S+nn+服务名,其中 nn为两位数字。

4。系统会根据指定的运行级别进入对应的 rcN.d目录,并按照文件名顺序检索目录下的链接文件

对于以 K开头的文件,系统将终止对应的服务对于以 S开头的文件,系统将启动对应的服务

5。查看运行级别用: runlevel


6。进入其它运行级别用: init N


7。另外 init0为关机, init 6为重启系统

        由于现在的 Linux系统安装完后就运行在第 5个级别,即系统启动后直接进入图形界面,而不用在字符模式下登录后用 startx或者 xinit 来起动图形界面。建议在系统安装完成后把系统的默认运行等级设置在第 3级,在字符终端登录后,再手工输入 startx 命令起动图 形界面。可以用如下的方法修改:


用文本编辑器修改 /etc/inittab文件:


把代码 : id:5:initdefault:这一行,修改成代码 : id:3:initdefault:保存后就 reboot重起,系统就默认起动到字符界面。不同运行级别之间的 差别的在于系 统默认起动的服务的不同,如运行级别 3默认不启动 X图形界面服务,而运行级别 5 却默认起动。


本质上是没有区别的,更无所谓不同级别间功能强弱的问题。用户完全可自给定义不同级别的默认服务。在任何运行级别,用户都可用 init 命令来切换到其他运行级别。


3)开机过程

通电 ->BIOS->MBR->GRUB->Kernel->/sbin/init->Runlevel


1.BIOS


BIOS: Basic Input/Output System 执行系统完整性检查,从软盘,光盘,硬盘中查找 boot loader(取决与你的启动顺序)BIOS的主要功能就是搜索并加载执行 MBR boot loader程序


2.MBR


MBR: Master Boot Record. MBR位于主盘的第一快扇区,如 :/dev/hda或者 /dev/sda.MBR共 512bytes. 1-446bytes存放主要的 boot loader信息, 447~510bytes存放 分区表信息,最后 2个 bytes存放 mbr验证信息。MBR包含 GRUB信息。(或者 LILO信息) MBR 的主要功能就是加载并执行 GRUB boot loader。


3.GRUB


GRUB:Grand Unified Bootloader. 如果你有多个 kernel p_w_picpaths安装在你的系统中,你可以通过GRUB选择那个被执行。GRUB启动的时候会有个选择界面,几秒钟没有任何输入的话,将会

加载你 GRUB配置文件中指定的默认 kernel p_w_picpath 。


GRUB的配置文件:/boot/grub/grub.conf (/etc/grub.conf is a link to this).


GRUB 的主要功能就是加载并执行 Kernel and initrd p_w_picpaths.


4.Kernel


挂载 grub.conf 中指定 “root=” 的根目录

执行 /sbin/init 程序 因为 /sbin/init 是 LINUX kernel执行的第一程序,理所当然 /sbin/init 的 PID为 1. ‘ps -ef | grep init’ 命令可以验证 .


initrd: Initial RAM Disk. 在 kernel完全起来, root文件系统被挂载之前, initrd被 kernel当做 临时 root文件系统。当然 initrd还包含了一些编译好的驱动,这些驱动用来在启动的时候访问硬件。


5.Init


查看 /etc/inittab配置文件来决定 Linux的运行( run level)。


LINUX的运行级别:

0 – halt (关机 )


1 – Single user mode (单用户模式 )


2 – Multiuser, without NFS (多用户模式 ,无网络 )


3 – Full multiuser mode (多用户模式 ,有网络 ,无图形界面 )


4 – unused (没用 ,用户自定义 )


5 – X11 (多用户模式 ,有网络 ,有图形界面 )


6– reboot (重启 )


Init从/etc/inittab配置文件中得到默认启动级别,然后加载并执行相应级别的程序 . 执行 ‘grep initdefault /etc/inittab’ 命令可得到你系统的默认启动级别 。


6.Runlevel programs


当 LINUX系统启动完成后,你会发现许多的服务进程也启动了,例如:“starting sendmail …. OK”. 这些服务程序都放在相应 LINUX系 统启动级别的文件夹下面。根据你 LINUX默认启动级别,系统将会执行以下其中一个文件架下面的服务程序:


Run level 0 – /etc/rc.d/rc0.d/


Run level 1 – /etc/rc.d/rc1.d/


Run level 2 – /etc/rc.d/rc2.d/


Run level 3 – /etc/rc.d/rc3.d/


Run level 4 – /etc/rc.d/rc4.d/


Run level 5 – /etc/rc.d/rc5.d/


Run level 6 – /etc/rc.d/rc6.d/




“零拷贝 ” 描述的是 CPU不执行拷贝数据从一块内存区域到另一块区域的任务的计算机操作。它通常用于在网络上传输文件时节省 CPU周期和内存带宽。简单来说,零拷贝就是一种避免 CPU 将数据从一 块存储拷贝到另外一块存储的技术。

“零拷贝 ”正是通过消除这些 多余的拷贝来提升性能的 。在数据传输的过程中, 避免数据在内核空间缓冲区和用户空间缓冲区之间进行拷贝 ,以及数据在内核空间缓冲区内的 CPU拷贝 。

————————————————



打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP