精华内容
下载资源
问答
  • 常用的虚拟机有哪些?如何选择合适的虚拟机软件进行学习呢? 虚拟机是什么? 虚拟机软件是一组特殊的软件,可以作为操作系统独立运行,也可以在操作系统之上运行。在系统上运行虚拟机软件的情况下,在计算机(PC或...

    学Linux运维技术,搭建学习Linux的运维环境是必不可少的。很多朋友都是利用虚拟机学习Linux的,那么虚拟机是什么?常用的虚拟机有哪些?如何选择合适的虚拟机软件进行学习呢?

    虚拟机是什么?

    虚拟机软件是一组特殊的软件,可以作为操作系统独立运行,也可以在操作系统之上运行。在系统上运行虚拟机软件的情况下,在计算机(PC或笔记本电脑等)上安装虚拟机软件后,可以模拟几个相对独立的虚拟PC设备,每个虚拟PC设备都可以用操作系统和网络服务安装运行,和真实的计算机设备几乎没有区别。

    在使用中,需要先在计算机上安装虚拟机软件,然后通过安装的虚拟机软件创建一个或多个虚拟机系统(即虚拟计算机设备),最后在这些虚拟计算机设备上安装操作系统并进行启动配置,最终实现在一台计算机上“同时运行多个虚拟机设备系统”。

    常用的虚拟机软件有哪些?如何选择合适的虚拟机软件进行学习呢?

    VMware Workstation。工作站版虚拟化软件,简单、易用,适合搭建学习环境。

    KVM/Xen Linux的虚拟化。服务器级虚拟化软件,适合企业虚拟化应用,复杂,不适合学习环境。

    Virtual PC。MAC平台可以用。

    VirtualBox。开源的虚拟机软件。

    展开全文
  • 工作中时候难免和系统打交道,我们常用的桌面系统 Windows、Mac OS,而Linux一般多用来作为公司服务器系统,如果你想在windowns或者MacOS上安装一个Linux(当然也可以是Windowns或者MacOS)操作系统又不影响当前...

    虚拟机不好卸载干净的哪些事

    工作中有时候难免和系统打交道,我们常用的桌面系统 Windows、Mac OS,而Linux一般多用来作为公司服务器系统,如果你想在windowns或者MacOS上安装一个Linux(当然也可以是Windowns或者MacOS)操作系统又不影响当前正在使用的操作系统,那么你就需要使用以下两个虚拟机软件来安装操作系统
    在这里插入图片描述
    在这里插入图片描述
    具体安装步骤这里我不再啰嗦,有很多人写过相关文章,但是大家都只说了安装,没有说卸载,我这里来说说虚拟机卸载不干净(VMware),可能回导致你再次安装时安装失败,或者无法正常打开,或者无法设置vmnet8网络等等。

    卸载第一步:

    可以通过软件管理工具下载
    在这里插入图片描述
    很多人就止步于这一步了,其实我们卸载后看到的只是表象桌面虚拟机的图标不在了,还是有很多内容没有卸载干净的。

    卸载第二步:

    这里推荐两款工具
    在这里插入图片描述

    1. 修复注册表,步骤如下图
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    卸载第三步:

    删除和VMware相关的文件内容
    在这里插入图片描述
    以上步骤执行完毕,重新安装即可,希望对你有帮助。

    展开全文
  • java 虚拟机常用命令

    2021-03-24 01:56:55
    1.java -X 查看 -X参数有哪些 -X 格式参数 -Xint     设置只用执行解释器执行 -Xmixed 设置混合执行器(解释器+JIT编译器(热代码缓存)) -Xms10m 设置最小堆内存size -Xmx10m 设置...

    温馨提示: 使用-XX:+PrintFlagsFinal 打印所有以-XX格式的参数,总共差不多700多个,:=表示是被修改过的意思,所有的参数都是在-VM环境设置

    1.java -X/-XX基本参数

    -X 格式的参数

    • -Xint     设置只用执行解释器执行
    • -Xmixed 设置混合执行器(解释器+JIT编译器(热点代码缓存))
    • -Xms10m 设置最小堆内存大小,默认物理内存的1/64,通常和-Xmx10m值设置成一样
    • -Xmx10m 设置最大堆内存大小,默认物理内存的1/4
    • -Xss10m 设置栈内存大小
       

    -XX 格式bool类型参数

    • -XX:+UseParallelGC 启用并行垃圾收集器
    • -XX:+UseG1GC 启用G1垃圾收集器
    • -XX:+UseAdaptiveSizePolicy 自动选择年轻代区大小和相应的Survivor区比例
    • -XX:+PrintFlagsFinal 打印所有的-XX参数大约700多个

     
    -XX 格式等值类型参数

    • -XX:NewSize=1024m 设置新生代初始值1024m
    • -XX:MaxGCPauseMillis=500 设置GC停顿时间500ms
    • -XX:GCTimeRatio=19 设置吞吐量
    • -XX:NewRatio=2 设置新老年代比例1:2 ,若指定具体新生代内存大小,老年代=总内存-新生代,比例失效
    • -XX:HeapDumpPath=路径/a.hprof 导出dump文件
    • -XX:SurvivorRatio=8 设置Eden和from,to的三者比例 8:1:1,实际是6:1:1

     

    2.JVM设置相关参数

    • -XX:+PrintCommandLineFlags 在程序启动前打印用户手动设置或者JVM自动设置的XX选项
    • -XX:+PrintFlagsInitial 打印所有的-XX格式的参数
    • -XX:+PrintFlagsFinal 打印XX选项在运行生效的值
    • -XX:+PrintVMOptions 打印JVM参数

     

    3.栈、堆、方法区相关参数

    • -Xss1024m设置栈内存大小(通常不用设置,不发生GC)

    • -Xms3550m 设置堆最小内存
    • -Xmx3550 设置堆最大内存
    • -Xmn2g 设置新生代内存为2G(若设置了-Xms/Xmx会把剩余的内存分给老年代)
    • -XX:NewSize=1024m 设置新生代初始值1024m
    • -XX:MaxNewSize=2048 设置新生代最大值2048m(NewSizeMaxNewSize可以用-Xmn2g直接代替)
    • -XX:NewRatio=2 设置新老年代比例1:2 ,若指定具体新生代内存大小,老年代=总内存-新生代,比例失效
    • -XX:SurvivorRatio=8 设置新生代中Eden和0,1区比例8:1:1,显示赋值SurvivorRatio值为8,否则不生效
    • -XX:-UseAdaptiveSizePolicy设置Eden和0,1区比例(默认开启,实际情况是6:1:1)
    • -XX:+PretenureSizeThreadshold=1024 让大于该阈值的对象直接老年代分配(单位/byte),只对SerialParNew收集器有效
    • -XX:MaxTenuringThreshoold=15 设置值为15,新生代每次MinorGc后,还存活对象年龄计数+1,如果大于15就晋升为老年代
    • -XX:+PrintTenuringDistribution 设置JVM在每次MinorGC后打印出当前Survivor区中对象的年龄分布
    • -XX:TargetSurvivorRatio设置MinorGC结束后Survivor区域中占用空间的期望比例

    方法区(永久代/元空间)

    • -XX:PermSize=256m 设置永久代最小值256m
    • -XX:MaxPermSize=256m设置永久代最大值256m
    • -XX:MetaspaceSize=1024m 设置元空间最小值1024m
    • -XX:MaxMetaspaceSzie=1024m 设置元空间最大值1024m
    • -XX:+UseCompressedOops 压缩对象指针
    • -XX:UseCompressedClassPointers 压缩类指针

     

    4.直接内存日志打印

    • -XX:MaxDirectMemroySize 指定DirectMemroy容量,若未指定,默认和java堆最大值一样
    • -XX:+PrintGCDetails 打印出运行时程序的GC回收日志信息

     

    5.OOM相关参数

    • -XX:+HeapDumpOnOutOfMemoryError 在发生OOM时,把Heap转存(Dump)到文件便于分析
    • -XX:+HeapDumpBeforeFullGC 在发生FullGC之前,生成Heap转存文件(存在多次FullGC产生多个文件)
    • -XX:HeapDumpPath=<Path> 指定heap转存文件的路径
    • -XX:OnOutOfMemoryError 设置一个可行性程序或者脚本程序,发生OOM时,执行这个脚本(手动执行GC指令)

     

    6.垃圾收集器

    Serial/Old GC收集器

    • -XX:+PrintCommandLineFlags 可以查询当前JVM使用的垃圾收集器
    • -XX:+UseSerialGC 设置单线程或者Client端使用的串行收集器,单线程收集效率很高
    • -XX:+UseSeialOldGC-XX:+UseSerialGC激活出来的对应老年代串行收集器
       

    ParNew/Parallel/Old GC收集器

    • -XX:+UseParNew 使用并行收集器
    • -XX:ParallelGCThreads=n 限制ParNew的线程数,默认线程数小于8时,线程数和CPU数等值,超过8,按照计算公式=3+[5*CPU_Count]/8
    • -XX:+UseParallenGC 使用并行收集器
    • -XX:ParallelGCThreads 限定收集器线程数,一般和CPU相同避免过多线程数影响垃圾收集性能
    • -XX:MaxGCPauseMillis 设置GC最大停顿时间(STW的时间/ms)
      • 为了尽可能把停顿时间控制在MaxGCPauseMills以内,收集器在工作时会自动调整Java堆大小或者其他一些参数
      • 对于用户来说,停顿时间越短体验越好,但是在服务器端,我们注重高并发,整体的吞吐量,所以Parallel适合服务器端,进行控制
    • -XX:GCTimeRatio 设置收集时间占总时间的比例=1/(N+1),用于衡量吞吐量大小
      • 取值范围(0,100),默认值99,也就是垃圾回收器时间不超过1%
      • 与之前-XX:MaxGCPauseMillis参数有一顿矛盾,暂停时间越长,Radio参数就容易超过设定的比例
    • -XX:+UseAdaptiveSizePolicy 设置ParallelScavenge收集器的自适应调节,默认是开启状态
       

    CMS收集器(JDK9已过时,JDK14完全删除)

    • -XX:UseConMarkSweepGC 开启CMS并发收集器,开启参数后自动配合 -XX:+UseParNewGC会打开,就是=ParNew(新生代)+CMS(老年代)+Serial Old组合(也就是混合收集),不能和Parallel搭配,Parallel有自己的搭配Parallel old GC,他们两是不同体系的垃圾收集器
    • -XX:CMSInitiatingOccupanyFraction 设置堆内存使用率的阈值,达到阈值,便会开始进行回收
      • JDK5及以前版本默认值为68,即当老年代的空间使用率达到68%时,会进行一次CMS回收,JDK6及以上默认92%
      • 如果内存增长缓慢,则可以设置一个稍大的值,大的阈值可以有效降低CMS的触发频率,减少老年代的回收次数可以明显提高应用程序的性能,反之,如果应用程序
      • 内存使用率增长很快,则应该降低这个阈值,以避免频繁触发老年代串行收集器,因此通过该选项便可以有效降低FullGC的执行次数
    • -XX:UseCMSCompactAtFullCollection 用于指定在执行完FullGC之后用于对内存空间进行压缩整理,避免内存碎片化,不过由于进行压缩整理内存碎片时,无法并行执行,因此带来的问题就是停顿时间变长
    • -XX:CMSFulllGCBeforeCompaction 指定在设置多少次FullGC之后进行内存碎片化进行压缩整理
    • -XX:ParallelCMSThreads 设置CMS线程数,CMS默认启动线程数=(ParallelGCThreads+3)/4ParallelCMSThreads 是年轻代收集器的线程数,当CPU资源紧张时,受到CMS收集器线程数的影响,应用程序性能明显降低
    • -XX:ConcGCThreads 设置并发垃圾收集器的线程数,默认是基于ParallelGCThreads计算出来的

     
    G1收集器(业务驱动低延迟保证一定吞吐量)

    • -XX:+UseG1GC 使用G1垃圾回收器(不建议再去设置-Xmn,-XX:NewRatio可能会影响到我们的MaxGCPauseMillis)
    • -XX:G1HeapRegioonSize 设置每个Region的大小,值是2的幂,范围是1m-32m之间,目标是根据最小的java堆大小划分出来的2048个区域,默认是堆内存的1/2000
    • -XX:MaxGCPauseMillis 设置GC停顿时间(尽力在可控制的时间,达到高吞吐量),默认值200ms
    • -XX:ParallelGCThreads 设置STW的GC线程数,最多为8
    • -XX:ConcGCThreads 设置并发标记的线程数,将n设置为并行垃圾收集器(ParallelGCThreads)的1/4左右
    • -XX:G1ReservePercent=10 保留内存区域,防止to space(Survivor中的to区)溢出

     

    7.输出日志文件

    • -Xloggc:<path> 输出gc日志文件然后使用工具打开分析
       

    8.其他参数

    • -XX:ReservedCodeCacheSize=<n> 设置代码缓存的大小
    • -XX:InitialCodeCacheSize=<n> 设置代码缓存的大小(JIT执行的热点代码缓存),同上参数
    • -XX:+DoEsacpeAnalysis 开启逃逸分析(实例对象内存在栈中分配而不是堆,说法不一)
    • -XX:+UseBiasedLocking 开启偏向锁(对象header中的偏向锁ID)
    • -XX:+UseLargePages 开启使用大页面
    • -XX:+UseTLAB 开启TLAB,默认打开(当我们多个线程同时访问Eden区数据,为了保证数据安全性,我们得需要为Eden枷锁,但是这样效率低,所以给每个线程都分配一个缓存存储各自线程的锁,线程之间不影响,提高吞吐量,也保证了数据的安全性)
    • -XX:+PrintTLAB 打印TLAB的使用情况
    • -XX:TLABSize 设置TLAB的大小
       
    展开全文
  • Linux的常用命令 设置变量生效: $ source /etc/profile 编辑全局变量: $ vim /etc/profile 删除文件:$ rm -f 文件名 解压文件:$ tar -zxvf 解压文件名 重启虚拟机:$ shutdown -r now 修改文件:$ vim 查看IP地址...

    Linux的常用命令

    1. 设置变量生效: $ source /etc/profile
    2. 编辑全局变量: $ vim /etc/profile
    3. 删除文件:$ rm -f 文件名
    4. 解压文件:$ tar -zxvf 解压文件名
    5. 重启虚拟机:$ shutdown -r now
    6. 修改文件:$ vim
    7. 查看IP地址:$ ip addr
    8. 查看端口:$ netstat -tlunp
    9. 放开端口:$ firewall-cmd --permanent --zone=public --add-port=端口号/tcp
    10. 停止防火墙:$ service firewalld stop
    11. 查看防火墙状态:$ firewall-cmd --state
    展开全文
  • 常用的JVM配置参数有哪些? -Xms:初始大小内存,默认为物理内存的1/64等价于-XX:InitialHeapSize -Xmx:最大分配内存,默认为物理内存的1/4等价于-XX:MaxHeapSize -Xss:设置单个线程栈的大小,一般默认为512k~...
  • string类的常用方法有哪些以及用法

    千次阅读 2020-03-01 16:24:22
    String声明是不可变对象,每次操作都是生成新String对象,然后指针指向新String对象,原先对象依旧在内存中,但是不在指向它,那么这个对象就会成为垃圾内存,在某一时刻由java虚拟机回收。 String常用方法...
  • (-Xss:规定了每个线程虚拟机栈(堆栈)大小) -XX:SurvivorRator=8 表示堆内存中新生代、老年代和永久代比为8:1:1 -XX:PretenureSizeThreshold=3145728 表示当创建(new)对象大于3M时候直接进入
  • 虚拟机

    2009-08-12 12:37:07
    企业内部操作系统是什么版本,是慢装还是GHOST,系统稳定性,等等是我们要考虑,系统是为企业内部人员使用,需要安装哪些常用软件,都需要经过测试才可以大量应用,这时我们可以用虚拟机来测试系统稳定...
  • 在Java中,异常情况分为Exception(异常)和Error(错误)两大类,Java异常通常是指程序运行过程中出现非正常情况,如用户输入错误、... JVM(Java虚拟机) 异常:由 JVM 抛出异常或错误。例如:NullPointerExce...
  • <li>jvm-java虚拟机 <li>overload-重载 <li>override-重写 <li>array-数组 <li>index-索引、下标 <li>exception-异常 <li>parent-父亲 <li>child-子,儿子 <li>catch-捕捉 <li>lang-language单词缩写表示...
  • 常用参数C.为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) 呢?6.运行时常量池7.直接内存二、HotSpot 虚拟机对象探秘1.对象创建2.对象内存布局3.对象访问定位三、重点补充内容1.String 类和常量池2....
  • javalang包中的常用有哪些

    千次阅读 2009-09-15 12:24:00
    1 String,八种基本数据类型包装类都在这个包中2 Object:类层次结构根类3 Math:执行基本数学方法运算4 StringBuffer:线程安全可变字符序列5 thread:是程序中执行线程。Java 虚拟机允许应用程序并发地...
  • 在Java中,异常情况分为Exception(异常)和Error(错误)两大类,Java异常通常是指程序运行过程中出现非正常情况,如用户输入错误、除数... JVM(Java虚拟机) 异常:由 JVM 抛出异常或错误。例如:NullPointerExce
  • jvm虚拟机

    2020-02-12 15:13:20
    java8的虚拟机有什么更新? 什么是OOM?什么是StackOverflowError?有哪些方法分析? Jvm的常用参数调优你知道哪些? 谈谈JVM中,对类加载器你的认识? 类装载器ClassLoader 负责加载class文件,class文件在文件...
  • Java8中,永久区(java7)被移除,被一个称为元空间区域所取代,元空间本质和永久区类似,都是对JVM规范中方法区实现,他们之间最大区别在于:永久区使用是JVM堆内存,而元空间并不在虚拟机中,他使用是...
  • ????基础知识 ... // 返回 Java 虚拟机内存总量 long maxMemory = Runtime.getRuntime().maxMemory(); // 返回 Java 虚拟机视图使用最大内存量 System.out.println("TOTAL_MEMORY(-Xms) ...
  • 持续更新JVM相关知识,敬请关注:Java虚拟机精髓专栏​zhuanlan.zhihu.com你知道市面上常用的JVM有哪些吗?JVM的发展历程如何?这些问题问出来后,是不是很多小伙伴一脸懵逼呢?大多数人可能并不知道JVM就像数据库...
  • 去掉虚拟机报警声 方法1: rmmod pcspkr 方法2: vim /etc/inputrc 把这一行注释去掉重启即可 set bell-style none 设置共享文件夹 设置windows共享文件夹 安装vmtools linux 命令 vmware-hgfsclient ...
  • 网上很详细的命令行的使用,本篇只记录很常用的几个命令,为了方便以后自己查阅。1、jps(JVM Process Status Tool):查看正在运行的java虚拟机进程jps命令相当于Linux下的ps命令,只不过它只列出Java进程jps:输出...
  • 常用的性能监控与问题定位工具有哪些?参考《Netty 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与源码解析...
  • 我们平时会用虚拟机来安装和学习linux,比较常用的虚拟机软件vmware和virtualbox。在用virtualbox安装完linux mint后,在使用之前,需要首先做哪些设置呢?下面介绍一下本人在安装完linux mint后必做的几件事儿。...
  • 4)常用的性能监控与问题定位工具有哪些 JVM的内存区域是怎么划分的? JVM的内存划分中,有部分区域是线程私有的,有部分是属于整个JVM进程;有些区域会抛出OOM异常,有些则不会,了解JVM的内存区域划分以及特征,...
  • linux命令操作1、日常操作命令 **查看当前所在工作目录pwd**查看当前系统时间 date**查看谁在线(哪些人登陆到了服务器)who 查看当前在线last 查看最近登陆历史记录2、文件系统操作**ls / 查看根目录...
  • 垃圾回收核心问题三个:(1)回收哪些内存 (2)何时回收 (3)如何回收 在Java中,需要回收内存区域包括堆和方法区。方法区在Hotspot中又被称为“永生代”,主要收集这两方面内容:废弃常量和无用类...
  • Linux系统里有哪些目录: 1、/ 根目录,是Linux的最上层目录 /bin:bin 是Binary的缩写,该目录下存放的是常用的命令。 /boot:该目录下存放的是启动Linux时使用的一些核心文件,包括一些连姐文件以及镜像文件。 /d
  • JVM笔记-java虚拟机

    2020-02-22 21:36:30
    Java8的虚拟机有什么更新? 什么是ooM?什么是stackoverflowerror? jvm的常用参数调优你知道哪些? 谈谈jvm中,对类加载器的认识? 你知道哪几种垃圾收集器,各自的优缺点 详解JVM内存模型 JVM中一次完整的GC流程是怎样的...
  • 怎么才能学好Java编程?...作为一种与平台无关的高级编程语言,Java中也含有语法糖,这些语法糖并不被虚拟机所支持,在编译成字节码阶段会自动转换成简单常用的语法。下面就给大家介绍几个常见的语法糖...
  • 在网络上,经常会看到关于Windows和Mac的各种争论。现在macw和大家聊一聊,...无论是Macbook还是iMac,屏幕素质在同类产品里都是遥遥领先的,设计师常用的软件在Mac上都,这些软件大部分比在Windows上运行更加稳定...
  • 深入理解java虚拟机

    2018-09-18 06:14:33
    常用的垃圾收集方法有哪些?垃圾收集器有哪些?各自有什么特点? JVM如何监控?调优? java编译后生成的class文件,内部存储格式是什么样的? 类加载有哪几个过程?什么是双亲委派模型? volatile和synchronized有...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 269
精华内容 107
关键字:

常用的虚拟机有哪些