2024年运维最全Linux系统:第十一章:常用命令(1),推荐

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

且设置了Xmn的情况下,该参数不需要进行设置

-XX:SurvivorRatio: Eden区和Survivor区的大小比值, 设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个

Survivor区占整个年轻代的1/10

-XX:LargePageSizeInBytes: 内存页的大小不可设置过大,会影响Perm的大小,128m

-XX:+UseFastAccessorMethods: 原始类型的快速优化

-XX:+DisableExplicitGC: 关闭System.gc(), System.gc()用于调用垃圾收集器,在调用时,垃圾收集器将运行以回收

未使用的内存空间,它将释放被丢弃对象占用的内存.一般分配内存后,可以不可虑内存管理.

-XX:MaxTenuringThreshold: 垃圾最大年龄,年轻代的最大存活周期,超过阈值就会进入年老代

-XX:+AggressiveOpts: 加快编译

-XX:+UseBiasedLocking: 锁机制的性能改善

-Xnoclassgc: 禁用垃圾回收

-XX:SoftRefLRUPolicyMSPerMB: 每兆堆空闲空间中SoftRefrence的存活时间,判断软引用对象有多久时间没有被使用

则被回收,默认是1s

-XX:PretenureSizeThreshold: 对象超过多大事直接在旧生代分配,默认是0

-XX:TLABWasteTargetPercent: TLAB占eden区的百分比,默认是1%

-XX:+CollectGen0First: FullGC时是否先YGC,默认是false

YGC: 对新生代堆进行gc ; FullGC: 全堆范围的gc,默认堆空间使用到达80%的时候会触发fgc.

并行收集器相关参数:

-XX:+UseParallelGC: Full GC采用parallel MSC,选择垃圾收集器为并行收集器,此配置仅对年轻代有效,即上述配置下,年轻代使用并行收集,

年老代仍旧使用串行收集

-XX:+UseParNewGC: 设置年轻代为并行收集,可与CMS收集同时使用,jdk5.0以后,JVM会根据系统配置自行设置,所以无需再设置此值

-XX:ParallelGCThreads: 并行收集器的线程数,此值最好配置与处理器数目相等,同样适用于CMS

-XX:+UseParallelOldGC: 年老代垃圾收集方式为并行收集(Parallel Compacting)

-XX:MaxGCPauseMillis: 每次年轻代垃圾回收的最长时间(最大暂停时间),如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值.

-XX:+UseAdaptiveSizePolicy: 自动选择年轻代区大小和相应的Survivor区比例,设置此选项后,并行收集器会自动选择年轻代区大小和相应的

Survivor区比例,以达到目标系统规定的最低相应时间或者收集频率等,此值建议使用并行收集器时,一直打开.

-XX:GCTimeRatio: 设置垃圾回收时间占程序运行时间的百分比,公式为1/(1+n)

-XX:+ScavengeBeforeFullGC: Full GC前调用YGC,默认为true

CMS相关参数:

-XX:+UseConcMarkSweepGC: 使用CMS内存收集

-XX:+AggressiveHeap:

-XX:CMSFullGCsBeforeCompaction: 多少次后进行内存压缩,由于并发收集器不对内存空间进行压缩,整理,所以运行一段时间以后会产生"碎片",

使得运行效率降低.此值设置运行多少次GC以后对内存空间进行压缩,整理.

-XX:+CMSParallelRemarkEnabled: 降低标记停顿

-XX:+UseCMSCompactAtFullCollection: 在FULL GC时候,对年老代的压缩,CMS是不会移动内存的, 因此, 这个非常容易产生碎片, 导致内存

不够用,因此,内存的压缩这个时候就会被启用.增加这个参数是个好习惯.可能会影响性能,但是可以消除碎片

-XX:+UseCMSInitiatingOccupancyOnly: 使用手动定义初始化定义开始CMS收集,禁止hostspot自行触发CMS GC

-XX:CMSInitiatingOccupancyFraction=70: 使用cms作为垃圾回收,使用70%后开始CMS收集,默认是92

-XX:CMSInitiatingPermOccupancyFraction: 设置Perm Gen使用到达多少比率时触发,默认是92

-XX:+CMSIncrementalMode: 设置为增量模式,用于单CPU情况

-XX:+CMSClassUnloadingEnabled:

辅助信息:

-XX:+PrintGC:

-XX:+PrintGCDetails:

-XX:+PrintGCTimeStamps:

-XX:+PrintGC:PrintGCTimeStamps:

-XX:+PrintGCApplicationStoppedTime: 打印垃圾回收期间程序暂停的时间.可与上面混合使用

-XX:+PrintGCApplicationConcurrentTime: 打印每次垃圾回收前,程序未中断的执行时间.可与上面混合使用

-XX:+PrintHeapAtGC: 打印GC前后的详细堆栈信息

-Xloggc:filename: 把相关日志信息记录到文件以便分析.

-XX:+PrintClassHistogram:

-XX:+PrintTLAB: 查看TLAB空间的使用情况

XX:+PrintTenuringDistribution: 查看每次minor GC后新的存活周期的阈值

-verbose:gc和-XX:+PrintGC是一样的

-Duser.timezone: 设置用户所在时区

-Djava.awt.headless=true: 开启headless模式,可针对特殊情况的一些数据图片的处理显示等

标准输入 0 从键盘获得输入(默认)

标准输出 1 输出到屏幕(即控制台)

错误输出 2 输出到屏幕(即控制台)

一般执行shell命令,都默认是从键盘获得输入,并且将结果输出到控制台上.但是我们可以通过更改文件描述符默认的指向,从而实现输入输出的

重定向.比如将1指向文件,那么标准的输出就会输出到文件中.

输出重定向:

command > filename 把标准输出重定向到新文件中

command 1> filename 同上

command >> filename 把标准输出追加到文件中

command 1>> filename 同上

command 2> filename 把错误输出重定向到新文件中

command 2>> filename 把标准输出追加到文件中

使用>重定向时,如果文件存在,则先删除旧文件,再新建文件;>>则直接添加到原文件中

输入重定向:

command < filename 以filename文件作为标准输入

command 0<filename 同上

command <<delimiter 从标准输入中读入,直到遇到delimiter分隔符

高级用法:

重定向绑定:

1.>/dev/null

这条命令的作用是将标准输出1重定向到/dev/null中./dev/null代表linux的空设备文件,所有往这个文件写入的内容都会丢失,

那么执行了>/dev/null之后,标准输出就会不再存在,没有任何能够找出输出的内容

2.2>&1

采用&可以将两个输出绑定到一起.就是将错误输出和标准输出输出到同一个地方.

3.>/dev/null 2>&1

就是将标准输出重定向到空设备文件(丢弃标准输出),错误输出绑定到标准输出中了,所以错误输出也被丢弃了,既不会输出到

屏幕,也不会输出到文件中

4.>/dev/null 2>&1 和 2>&1 >/dev/null

linux从左到右执行,所有2>&1 >/dev/null 的执行为:

1)2>&1,错误输出绑定到标准输出中,此时标准输出是默认值,即输出到屏幕上,所以错误输出到屏幕上了

2)>/dev/null,将标准输出1重定向到/dev/null中,标准输出被丢弃

5.为什么要绑定2>&1呢?不使用2>out 1>out重复输出两次?

重复输出两次,标准输出和错误输出会抢占out文件的管道,可能导致信息写入的错误,而且out文件被打开两次,影响IO性能

nohup java -jar xxxx.jar >/dev/null 2>&1 &

不让一些执行信息输出到控制台

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 23
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值