cpu参数

JVM垃圾收集器

丶灬走出姿态 提交于 2020-02-02 13:39:28
垃圾收集器就是收集算法的具体实现,不同的虚拟机会提供不同的垃圾收集器。并且提供参数供用户根据自己的应用特点和要求组合各个年代所使用的收集器。本文讨 论的收集器基于Sun Hotspot虚拟机1.6版。 下图中展示了jdk1.6中提供的6种作用于不同年代的收集器,两个收集器之间存在连线的话就说明它们可以搭配使用。没有最好的收集器,也没有万能的收集 器,只有最合适的收集器。从Serial收集器到Parallel收集器,再到CMS收集器, G1收集器,用户线程的停顿时间在不断缩短,但是仍然没有办法完全消除。 1. Serial收集器 单 线程收集器,使用复制收集算法,收集时会暂停所有工作线程(我们将这件事情称之为Stop The World),直到收集结束,虚拟机运行在Client模式时的默认新生代收集器。 优点是:简单高效(与其他收集器的单线程相比),对于限定单个CPU的环境来说,Serial收集器没有现成交互的开销。在堆比较小的情况下,一般停顿时 间很短,是可以使用这种收集器的。如下图: 2. ParNew收集器 ParNew 收集器就是Serial的多线程版本,除了使用多条收集线程外,其余行为包括算法、STW、对象分配规则、回收策略等都与Serial收集器一摸一样。 ParNew收集器是许多运行在server模式下的虚拟机中首选的新生代收集器(一个原因是在除了serial收集器外

JVM垃圾收集器

倾然丶 夕夏残阳落幕 提交于 2020-02-02 13:39:07
问题 带着问题去学习,效率更高! 垃圾收集器和垃圾回收算法的关系?分别请你谈谈? 怎么查看服务器的垃圾收集器是哪个?如何配置垃圾收集器?谈谈你对垃圾收集器的理解? 你知道G1垃圾收集器吗? 垃圾收集算法 垃圾收集器和垃圾回收算法的关系? 垃圾算法(引用计数,复制算法,标记清除,标记整理)都是内存回收的方法论,垃圾收集器是这种算法的落地实现。 请移步 JVM中的GC收集算法有哪些 先了解相关概念 垃圾收集器主要发生的区域 主要发生在方法区和堆中,其中方法区在jdk1.8中的实现是元空间(Metaspace) 次收集器 发生在新生代中的GC,被称为Young GC(Scavenge GC,Minor GC), 新生代中的对象大多数生命周期比较短,所以这里的GC发生很频繁。 全收集器 Full GC,指发生在老年代的 GC,出现了 Full GC 一般会伴随着至少一次的 Young GC(老 年代的对象大部分是Young GC 过程中从新生代进入老年代),比如:分配担保失败。Full GC 的速度一般会比 Young GC 慢 10 倍以上。 什么时候触发GC 当 Eden 空间不足以为对象分配内存时,会触发 Young GC。 当老年代内存不足,或者显式调用 System.gc() 会触发Full GC(也会伴随着执行至少一次的Young GC)。 STW(Stop-the-world

linux的jiffies

邮差的信 提交于 2020-02-02 12:56:15
在看libvirt如何获取虚拟机的cpu占用率这个问题。计算cpu占用率不可避免的需要直到jiffies的概念。 jiffies是内核中的一个全局变量,用来记录自系统启动一来产生的节拍数。简单描述,就是1s内,内核发起的时钟中断次数。kernel中就使用这个来对程序的运行时间进行统计。这个值实在编译内核时进行设置的。一般有100,250,1000。CONFIG_HZ这个参数就是用来设置1s中的中断次数的。 查看 /proc/stat 可以看到kernel对cpu使用的各项时间进行的统计。 cat /proc/statcpu 1776 10 9610 35061503 4272 0 122 0 0 0cpu0 359 0 1820 8767364 1812 0 40 0 0 0cpu1 398 0 1578 8764789 688 0 18 0 0 0cpu2 593 3 1646 8768085 1076 0 8 0 0 0cpu3 425 6 4564 8761263 694 0 56 0 0 0 cpu的使用率一般包含 user ( 1776 ) 从系统启动开始累计到当前时刻,处于用户态的运行时间,不包含 nice值为负进程。 nice (10) 从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间 system (35061503)

Zabbix监控PHP-FPM、Tomcat、Redis应用实战案例

做~自己de王妃 提交于 2020-02-02 00:35:12
一、Zabbix监控PHP-FPM应用实战 Nginx+PHP-FPM是目前最流行的LNMP架构,在基于PHP开发的系统下,对这些系统性能的监控,主要是关注PHP-FPM的运行状态,那么什么是PHP-FPM呢?PHP-FPM是一个PHP FastCGI管理器,它提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,对于ZPHP5.3.3之前的PHP来说,它是一个补丁包,而从PHP5.3.3版本开始,PHP内部已经集成了php-fpm模块,意味着被PHP官方收录了。在编译PHP时需指定参数“--enable-fpm”来开启PHP-FPM。 1)启用php-fpm状态功能 操作如下: 1)安装nginx [root@agent ~]# yum -y install zlib pcre pcre-devel openssl openssl-devel [root@agent ~]# wget http://nginx.org/download/nginx-1.14.1.tar.gz [root@agent ~]# tar zxf nginx-1.14.1.tar.gz -C /usr/src [root@agent ~]# cd /usr/src/nginx-1.14.1/ [root@agent nginx-1.14.1]# ./configure -

LINUX下查看CPU使用率的命令[Z]

怎甘沉沦 提交于 2020-02-01 17:11:07
1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或是在交谈式指令列( interactive command)按s q :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行 c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( dead child process )的CPU time累积起来 s :安全模式,将交谈式指令取消,避免潜在的危机 i :不显示任何闲置(idle)或无用(zombie)的行程 n :更新的次数,完成后将会退出top b :批次档模式,搭配"n"参数一起使用,可以用来将top的结果输出到档案内 范例: 显示更新十次后退出; top -n 10 使用者将不能利用交谈式指令来对行程下命令: top -s 将更新显示二次的结果输入到名称为top.log的档案里: top -n 2 -b < top.log 另附一个命令简介 linux traceroutewindows tracert两个命令相当,跟踪网络路由 2.vmstat 正如我们之前讨论的任何系统的性能比较都是基于基线的

LINUX下查看CPU使用率的命令

為{幸葍}努か 提交于 2020-02-01 17:10:09
1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或是在交谈式指令列( interactive command)按s q :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行 c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( dead child process )的CPU time累积起来 s :安全模式,将交谈式指令取消,避免潜在的危机 i :不显示任何闲置(idle)或无用(zombie)的行程 n :更新的次数,完成后将会退出top b :批次档模式,搭配"n"参数一起使用,可以用来将top的结果输出到档案内 范例: 显示更新十次后退出; top -n 10 使用者将不能利用交谈式指令来对行程下命令: top -s 将更新显示二次的结果输入到名称为top.log的档案里: top -n 2 -b < top.log 另附一个命令简介 linux traceroutewindows tracert两个命令相当,跟踪网络路由 2.vmstat 正如我们之前讨论的任何系统的性能比较都是基于基线的

linux pidstat 命令详解

流过昼夜 提交于 2020-02-01 06:25:11
pidstat 概述 pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 pidstat 安装 pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数linux发行版的软件源中获得。 在Debian/Ubuntu系统中可以使用下面的命令来安装: apt-get install sysstat CentOS/Fedora/RHEL版本的linux中则使用下面的命令: yum install sysstat pidstat 示例 pidstat 的用法: pidstat [ 选项 ] [ <时间间隔> ] [ <次数> ] 如下图: 常用的参数: -u:默认的参数,显示各个进程的cpu使用统计 -r:显示各个进程的内存使用统计 -d:显示各个进程的IO使用情况 -p:指定进程号 -w:显示每个进程的上下文切换情况 -t:显示选择任务的线程的统计信息外的额外信息 -T { TASK | CHILD | ALL } 这个选项指定了pidstat监控的。TASK表示报告独立的task

pidstat 命令详解(转载)

拈花ヽ惹草 提交于 2020-02-01 05:50:56
转自https://www.jianshu.com/p/3991c0dba094 pidstat 概述 pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 pidstat 安装 pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数linux发行版的软件源中获得。 在Debian/Ubuntu系统中可以使用下面的命令来安装: apt-get install sysstat CentOS/Fedora/RHEL版本的linux中则使用下面的命令: yum install sysstat pidstat 示例 pidstat 的用法: pidstat [ 选项 ] [ <时间间隔> ] [ <次数> ] 如下图: 常用的参数: -u:默认的参数,显示各个进程的cpu使用统计 -r:显示各个进程的内存使用统计 -d:显示各个进程的IO使用情况 -p:指定进程号 -w:显示每个进程的上下文切换情况 -t:显示选择任务的线程的统计信息外的额外信息 -T { TASK | CHILD | ALL

多线程面试60题超详解

久未见 提交于 2020-01-31 09:24:54
多线程面试60题 1.多线程有什么用? 2.线程和进程的区别是什么? 3.Java 实现线程有哪几种方式? 4.启动线程方法 start()和 run()有什么区别? 5.怎么终止一个线程? 6.一个线程的生命周期有哪几种状态?它们之间如何流转的? 7.线程中的 wait()和 sleep()方法有什么区别? 8.多线程同步有哪几种方法? 9.什么是死锁?如何避免死锁? 10.多线程之间如何进行通信? 11、线程怎样拿到返回结果? 12、violatile 关键字的作用? 13、新建 T1、T2、T3 三个线程,如何保证它们按顺序执行? 14、怎么控制同一时间只有 3 个线程运行? 15、为什么要使用线程池? 16、常用的几种线程池并讲讲其中的工作原理。 什么是线程池? 线程池的好处 如何提交线程 submit 和 execute 分别有什么区别呢? 如何关闭线程池es.shutdown()? 17、线程池启动线程 submit()和 execute()方法有什么不同? 18、CyclicBarrier 和 CountDownLatch 的区别? 19、什么是活锁、饥饿、无锁、死锁? 20、什么是原子性、可见性、有序性? 21、什么是守护线程?有什么用? 什么是守护线程? 22、一个线程运行时发生异常会怎样? 23、线程 yield()方法有什么用? 24、什么是重入锁? 25

linux stress 压测命令的使用

╄→尐↘猪︶ㄣ 提交于 2020-01-31 08:37:33
一、stress工具安装: 1、获取stress源码安装包(stress-1.0.4.tar.gz) 3、解压并安装 [root@localhost /]#cd /tmp/ [root@localhost tmp]#tar –zxvf stress-1.0.4.tar.gz 4、进入stress-1.0.4文件夹下,编译并安装stress [root@localhost tmp]#cd /tmp/stress-1.0.4/ [root@localhost stress-1.0.4]#./configure [root@localhost stress-1.0.4]# make [root@localhost stress-1.0.4]#make install 默认安装在:/usr/local/bin/stress 二、stress工具使用: 命令:taskset –c 逻辑CPU索引号 stress --timeout 持续时间 --cpu 1 参数说明: -c 服务器逻辑CPU的索引号 --timeout 对CPU施加压力的持续时间 --cpu stress进程数,若值为2,每个stress进程所有消耗的逻辑CPU资源平分 如:对索引为0的逻辑cpu施加压力, 持续30秒 taskset -c 0 stress --timeout 30 --cpu 1 通过top