先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
正文
bo:(写磁盘)写入到块设备的数据总量(KB/s)
- system: 采集间隔内发生的中断数
in:某一时间间隔中观测到每秒设备中断数
cs:每秒产生的上下文切换次数 - cpu:
us:用户进程消耗的cpu时间百分比,us的值越高,说明用户进程消耗的cpu时间多,长期大于50%,需要优化程序或算法
sy:内核进程消耗的cpu时间百分比
id:CPU处于空闲状态的时间百分比
wa:I/O等待所占用cpu时间百分比
重点注意:procs的r对应的值和CPU项us、sy和id值
2.uptime
[root@master79100 ~]# uptime
01:31:23 up 1:46, 2 users, load average: 0.81, 0.54, 0.94
依次表示:系统现在的时间,运行时间,系统多少用户登录,1min/5min/15min内的平均负载。
load average:三个值不能大于cpu的个数,长期大于CPU个数,说明cpu负载很高,会影响系统性能。
3.mpstat
[root@master79100 ~]# mpstat 3 5
Linux 3.10.0-693.el7.x86_64 (master79100) 05/03/2021 _x86_64_ (4 CPU)
01:35:29 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
01:35:32 AM all 0.69 0.09 1.72 0.17 0.00 0.34 0.00 0.00 0.00 96.98
01:35:35 AM all 1.22 0.00 1.75 0.09 0.00 0.35 0.00 0.00 0.00 96.60
01:35:38 AM all 0.96 0.00 1.31 0.00 0.00 0.26 0.00 0.00 0.00 97.47
01:35:41 AM all 0.86 0.00 1.55 0.09 0.00 0.26 0.00 0.00 0.00 97.24
01:35:44 AM all 1.30 0.09 1.38 0.26 0.00 0.17 0.00 0.00 0.00 96.80
Average: all 1.01 0.03 1.54 0.12 0.00 0.28 0.00 0.00 0.00 97.02
- CPU:处理器ID
- %usr:用户进程消耗cpu时间百分比
- %nice : 运行正常进程所消耗cpu时间百分比
- %sys :系统进程消耗cpu时间百分比
- %iowait : I/O等待所占用cpu时间百分比
- %irq :中断时间所用的cpu时间百分比
- %soft : 软中断时间占用的cpu时间百分比
- %steal :内存相对紧张的环境下page in 强制对不同的页面进行的steal操作
- %guest :运行虚拟处理器时CPU花费时间点的百分比
- %gnice :运行带有nice优先级的虚拟CPU所花费的时间百分比
- %idle:显示CPU处于空闲状态的时间百分比
%idle较低时,可能CPU不足; %iowait 较高时,可能当前负载下I/O子系统出现的某些问题。
二、内存性能调优工具
内存分析常用的工具:free、smem
1、free
[root@master79100 ~]# free -g
total used free shared buff/cache available
Mem: 0 0 0 0 0 0
Swap: 0 0 0
[root@master79100 ~]# free
total used free shared buff/cache available
Mem: 999720 589904 63688 13496 346128 140328
Swap: 0 0 0
[root@master79100 ~]#
free 命令输出中显示了系统的各种内存状态,具体包括物理内存和swap。
物理内存分为已使用内存(used)、空闲内存(free)、共享内存(shared)、系统缓存(buff/cache)、目前可用内存(available)
total=used+free+buff/cache
2、smem命令
smem是一款命令行下的内存使用情况报告工具,能够给用户提供linux系统下内存使用的多种报告。
RSS(Resident Set Size):用top命令可用查询到,是最常用的内存指标,表示进程占用的物理内存大小。但将各个进程的RSS值相加,通常会超出整个系统的内存消耗,因为RSS中包含了各个进程间的共享内存。
PSS(Proportional Set Size):所有使用某共享库的程序均分该共享库占用的内存,显然所有进程的PSS之和就是系统的内存使用量。它会更准确一些,它将共享内存大小进行平均后,再分摊到各进程上去。
USS(Unique Set Size):进程独自占用的内存,它只计算了进程占用的内存大小,不包含任何共享部分。
smem -k -s uss
-k参数用来显示内存单位
-s表示排序
uss表示对USS进行排序
[root@master79100 ~]# smem -k -s uss
PID User Command Swap USS PSS RSS
1789 root /pause 0 40.0K 44.0K 68.0K
1802 root /pause 0 40.0K 44.0K 68.0K
1785 root /pause 0 44.0K 48.0K 72.0K
1788 root /pause 0 44.0K 48.0K 72.0K
2063 root /pause 0 60.0K 64.0K 88.0K
904 root /sbin/rngd -f 0 132.0K 135.0K 240.0K
- 百分比形式显示每个进程占用系统内存的比率
[root@master79100 ~]# smem -p -s uss
PID User Command Swap USS PSS RSS
1789 root /pause N/A 0.00% 0.00% 0.01%
1802 root /pause N/A 0.00% 0.00% 0.01%
- 查看某个进程占用内存的大小
[root@master79100 ~]# smem -k -P kube-controller-manager
PID User Command Swap USS PSS RSS
5759 root python /usr/bin/smem -k -P 0 5.2M 5.5M 6.3M
4472 root kube-controller-manager --a 0 42.0M 42.0M 42.0M
三、磁盘性能调优工具
磁盘性能评估的常用工具:iotop、iotop等
1、iotop
iotop类型与top的命令。
iotop跟一些选项,用来定制输出结果,常用选项:
-p:指定进程
-u:指定用户名
-P:只显示进程,默认显示所有的进程
-k:以千字节显示
-t:表示在每一行前添加一个当前时间。
2、iostat
iostat是I/O statistics(输入/输出统计)的缩写,主要的功能是对系统的I/O操作进行监视,输出主要显示磁盘读写操作的统计信息。
[root@master79100 ~]# iostat -d
Linux 3.10.0-693.el7.x86_64 (master79100) 05/03/2021 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 120.58 5090.86 51.62 59319155 601460
dm-0 122.60 5090.29 51.62 59312600 601426
dm-1 0.01 0.18 0.00 2096 0
[root@master79100 ~]# iostat -d 3 5
Linux 3.10.0-693.el7.x86_64 (master79100) 05/03/2021 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 120.69 5093.88 51.60 59387083 601576
dm-0 122.69 5093.11 51.60 59378152 601542
dm-1 0.01 0.18 0.00 2096 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 281.67 7858.67 2.67 23576 8
dm-0 285.33 7848.00 2.67 23544 8
dm-1 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 246.00 2925.33 8.00 8776 24
为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**
![](https://img-blog.csdnimg.cn/img_convert/a3a70452654efb20e934169a0c988713.png)
本份面试集锦涵盖了
* **174 道运维工程师面试题**
* **128道k8s面试题**
* **108道shell脚本面试题**
* **200道Linux面试题**
* **51道docker面试题**
* **35道Jenkis面试题**
* **78道MongoDB面试题**
* **17道ansible面试题**
* **60道dubbo面试题**
* **53道kafka面试**
* **18道mysql面试题**
* **40道nginx面试题**
* **77道redis面试题**
* **28道zookeeper**
**总计 1000+ 道面试题, 内容 又全含金量又高**
* **174道运维工程师面试题**
> 1、什么是运维?
> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
> 3、现在给你三百台服务器,你怎么对他们进行管理?
> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点
> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
> 7、Tomcat和Resin有什么区别,工作中你怎么选择?
> 8、什么是中间件?什么是jdk?
> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?
> 10、什么叫CDN?
> 11、什么叫网站灰度发布?
> 12、简述DNS进行域名解析的过程?
> 13、RabbitMQ是什么东西?
> 14、讲一下Keepalived的工作原理?
> 15、讲述一下LVS三种模式的工作过程?
> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
> 17、如何重置mysql root密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
![img](https://img-blog.csdnimg.cn/img_convert/170d2cdb0f3fba96f7a4c85bed27ca4f.jpeg)
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
?
> 17、如何重置mysql root密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
[外链图片转存中...(img-aip3urbu-1713157657778)]
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**