cpu参数

JVM-GC调优,一文详解JDK监控和故障处理命令及常见故障分析

时光总嘲笑我的痴心妄想 提交于 2020-02-10 20:42:15
本文转载自: JVM-GC调优,一文详解JDK监控和故障处理命令及常见故障分析 JVM 的定位系统问题时,知识和经验是关键基础,数据是依据、工具是运用知识处理数据的手段 数据包括:运行日志、异常堆栈、GC日志、线程快照(thread dump、javacore文件)、堆转储快照(headdump / hprof 文件) 一、调优命令 JDK监控和故障处理命令,在bin目录下有: jps、 jstat、jmap、jhat、jstack、jinfo jps:显示虚拟机进程,常用如: jps -l -v jstat:收集虚拟机各方面的运行数据,常用如: jps-gcutil 2764 、 jstat -gc 2764 250 20 jinfo:显示虚拟机配置信息 jmap:生成虚拟机内存转储快照(headdump 文件),常用如: jmap -dump:live,format=b,file=dump.hprof 28920 jhat:用于分析headdump 文件,他会建立一个http/html 的服务器,让客户可以在浏览器上查看分析结果,常用如: jhat dump.hprof jstack: 显示虚拟机线程快照,常用如: jstack -l 11494 下面做一 一介绍 二、Jps 显示指定系统内所有的HotSpot虚拟机进程, 格式 : jps - [hostid] options

MySQL my.cnf详解

你说的曾经没有我的故事 提交于 2020-02-10 12:27:14
1 #*** client options 相关选项 ***# 2 #以下选项会被MySQL客户端应用读取。注意只有MySQL附带的客户端应用程序保证可以读取这段内容。如果你想你自己的MySQL应用程序获取这些值。需要在MySQL客户端库初始化的时候指定这些选项。[client] 3 port = 3306 4 socket = /usr/local/mysql/tmp/mysql.sock 5 [mysqld]!include /usr/local/mysql/etc/mysqld.cnf 6 #包含的配置文件 ,把用户名,密码文件单独存放 7 port = 3306 8 bind-address = 0.0.0.0 9 server-id = 1 10 #表示是本机的序号为1,唯一 11 socket = /usr/local/mysql/tmp/mysql.sock 12 pid-file = /usr/local/mysql/var/mysql.pid 13 basedir = /usr/local/mysql/ 14 datadir = /usr/local/mysql/var/ 15 tmpdir = /usr/local/mysql/tmp/ 16 #此目录被 MySQL用来保存临时文件.例如,它被用来处理基于磁盘的大型排序,和内部排序一样,以及简单的临时表

hadoop 集群调优实践总结

不问归期 提交于 2020-02-10 03:12:37
调优概述 # 几乎在很多场景,MapRdeuce或者说分布式架构,都会在IO受限,硬盘或者网络读取数据遇到瓶颈.处理数据瓶颈CPU受限.大量的硬盘读写数据是海量数据分析常见情况. IO受限例子: 索引 分组 数据倒入导出 数据移动和转换 CPU受限例子: 聚类/分类 复杂的文本挖掘 特征提取 用户画像 自然语言处理 我们需要从硬件规划和软件规划等多方面结合实现性能和效率的提升。 硬件规划 # 评估集群规模 # 我们需要搭建多少节点的hadoop集群?回答这个问题考虑的因素比较多:预算?数据量?计算资源? 需要多少计算资源可能不是特别好评估,推荐横向扩展,随业务规模和应用发展再考虑扩展。开始可以就按照数据量来评估数据规模,估计一下每天的数据增量?保存数据的周期是多少?有没有冷数据方案? 假设每天增长的数据为600G、3备份存储,以一年规划为例,大概存储为600G 3 360天=633T, 再考虑增加%20的预留,考虑未来数据增长的趋势,考虑应用计算等空间需求。为节省空间可考虑压缩存储(大概可以节省70%空间)。 同时考虑一定冗余量,如果集群一部分节点不可用也要保证业务正常使用(根据集群规模评估冗余比例)。 然后结合节点硬件规划和预算,确定集群规模。假如我们需要650T存储,可以采用30台12 x 2TB的存储配置或者 60台6 x 2TB配置,但是节点数量翻翻

《大型网站技术架构:核心原理与案例分析》笔记

情到浓时终转凉″ 提交于 2020-02-10 02:59:33
目录 · 大型网站软件系统的特点 · 大型网站架构演化发展历程 · 初始阶段的网站架构 · 需求/解决问题 · 架构 · 应用服务和数据服务分离 · 需求/解决问题 · 架构 · 使用缓存改善网站性能 · 需求/解决问题 · 架构 · 使用应用服务器集群改善网站的并发处理能力 · 需求/解决问题 · 架构 · 数据库读写分离 · 需求/解决问题 · 架构 · 使用反向代理和CDN加速网站响应 · 需求/解决问题 · 架构 · 使用分布式文件系统和分布式数据库系统 · 需求/解决问题 · 架构 · 使用NoSQL和搜索引擎 · 需求/解决问题 · 架构 · 业务拆分 · 需求/解决问题 · 架构 · 分布式服务 · 需求/解决问题 · 架构 · 大型网站架构演化心得 · 大型网站架构模式 · 综述 · 分层 · 概念 · 目的 · 举例 · 分割 · 概念 · 目的 · 举例 · 分布式 · 概念 · 目的 · 缺点 · 举例 · 集群 · 概念 · 目的 · 缓存 · 概念 · 目的 · 举例 · 异步 · 概念 · 目的 · 冗余 · 概念 · 目的 · 举例 · 自动化 · 目的 · 举例 · 安全 · 举例 · 大型网站核心架构要素 · 性能 · 网站性能测试 · 不同视角下的网站性能 · 性能测试指标 · 性能测试方法 · 性能测试报告 · Web前端性能优化 ·

TensorFlow学习笔记(一)

空扰寡人 提交于 2020-02-09 09:37:22
[TensorFlow API](https://www.tensorflow.org/versions/r0.12/how_tos/variable_scope/index.html) TensorFlow 是目前最火的深度学习框架。 TensorFlow的环境搭建官网和其他博客都有较多例子,这里不再重复。 本机实验环境 macOS Sierra 10.12.3 tensorflow 1.0.0 CPU版本 Python 3.6.0 TensorFlow测试样例 首先TensorFlow支持C、C++、Python等语言。这里只介绍Python语言的TensorFlow的样例。 12345678910111213141516 import tensorflow as tfa = tf.constant([1.0,2.0],name="a")b = tf.constant([2.0,3.0],name="b")result = a + bsess = tf.Session()W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your

k8s pod 自动水平扩展

痴心易碎 提交于 2020-02-08 23:32:46
1. 当前环境 kubernetes v1.17 metrics-server v0.3.6 要实现hpa,metrics-server 需要部署到集群中, 它可以通过 resource metrics API 对外提供度量数据,Horizontal Pod Autoscaler 正是根据此 API 来获取度量数据。 2. 部署metrics-server k8s部署参考网站 https://github.com/kubernetes-sigs/metrics-server/tree/master/deploy/kubernetes metrics-server不能使用,报错不能解析node节点的主机名 - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP metrics-server报错,x509,证书是非信任的 - --kubelet-insecure-tls 加在 args 的参数里面,args 片段如下 args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS

Linux 命令——vmstat

旧城冷巷雨未停 提交于 2020-02-08 16:21:47
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。 语法 vmstat [ -a ] [ -f ] [ -s ] [ -p ] [ -d ] [ PhysicalVolume … ] [ Interval [ Count ] ] -a: 显示活跃和非活跃内存,所显示的内容除增加inact和active -f: 显示显示从系统启动至今的fork数量,Linux 新建进程用fork -s: 查看内存使用的详细信息 -d: 查看磁盘的读/写 -p: 显示指定磁盘分区统计信息 PhysicalVolume 参数指定物理卷的名称。 vmstat [root@iZwz9hmb50uzud432t180uZ ~]# vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 0 148624 0 191716 0 0 2 4 19 4 1 2 97 0 0 procs 代表进程 r: 运行队列中进程数量 b: 等待IO的进程数量 memory 代表内存 swpd:

性能调优概述,这是一篇最通俗易懂性能调优的总结!

拈花ヽ惹草 提交于 2020-02-07 21:51:44
1. 作者概述 2. 什么是性能调优?(what) 3. 为什么需要性能调优?(why) 4. 什么时候需要性能调优?(when) 5. 什么地方需要性能调优?(where) 6. 什么人来进行性能调优?(who) 7. 怎么样进行性能调优?(How) 8. 总结 硬件配置:CUP Xeon E5620 x 2 8核心, 内存 16G , 硬盘 RAID 10,操作系统: CentOS 6.4 x86_64(64位)。 概述 在这篇博文中,我不想用一些抽象的概念去说性能调优的问题,只想用最通俗的语言尽量来准确的表达我的想法。 由于本人小平有限,有什么不对或者不清楚的地方欢迎大家交流指正。为了更能通俗易懂的理解我们即将要的性能调优的话题,我在这里简单的和大家说一下我写这篇文章的写作方法 5w+1h方法。 注,5w+1h就是对所做工作进行科学的分析,对某一工作在调查研究的基础上: · 就其工作内容(What) · 责任者(Who) · 工作岗位(Where) · 工作时间(When · 怎样操作(How · 以及为何这样做(Why) 即”5W”、”1H”进行书面描述,并按此描述进行操作,达到完成职务任务的目标。(来源“百度百科”) 哈哈听过马哥课程的一定不陌生! 二、什么是性能调优?(what) 在说什么是性能调优之前我们先来说一下,计算机的体系结构。 如上图,简单来说包括三块:硬件

并发编程之线程第一篇

丶灬走出姿态 提交于 2020-02-07 21:03:37
并发编程之线程第一篇 3.4 原理之线程运行 线程上下文切换(Thread Context Switch) 3.5 常见方法 3.6 start与run 3.7 sleep与yield 案例 - 防止CPU占用100% 3.8 join方法详解 3.9 interrupt方法详解 两阶段终止模式 3.10 不推荐的方法 3.11 主线程与守护线程 3.4 原理之线程运行 Java虚拟机栈 JVM中由堆、栈、方法区所组成,其中栈内存是给线程使用,每个线程启动后,虚拟机就会为其分配一块栈内存。 每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法 线程上下文切换(Thread Context Switch) 因为以下一些原因导致cpu不再执行当前的线程,转而执行另一个线程的代码 线程的cpu时间片用完 垃圾回收 有更高优先级的线程需要运行 线程自己调用了sleep、yield、join、park、synchronized、lock等方法程序 当Context Switch发生时,需要由操作系统保存当前线程的状态,并恢复另一个线程的状态,Java中对应的概念就是程序计数器(Program Counter Register),它的作用是记住下一条jvm指令的执行地址,是线程私有的 3.5 常见方法 方法名 功能说明

Linux-内核态与用户态

馋奶兔 提交于 2020-02-07 15:52:57
Linux-内核态与用户态 内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序 用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取 为什么要有用户态和内核态 由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络, CPU划分出两个权限等级 -- 用户态 和 内核态 用户态与内核态的切换 所有用户程序都是运行在用户态的, 但是有时候程序确实需要做一些内核态的事情, 例如从硬盘读取数据, 或者从键盘获取输入等. 而唯一可以做这些事情的就是操作系统, 所以此时程序就需要先操作系统请求以程序的名义来执行这些操作. 这时需要一个这样的机制: 用户态程序切换到内核态, 但是不能控制在内核态中执行的指令 这种机制叫 系统调用 , 在CPU中的实现称之为 陷阱指令 (Trap Instruction) 他们的工作流程如下: 用户态程序将一些数据值放在寄存器中, 或者使用参数创建一个堆栈(stack frame), 以此表明需要操作系统提供的服务. 用户态程序执行陷阱指令 CPU切换到内核态, 并跳到位于内存指定位置的指令, 这些指令是操作系统的一部分, 他们具有内存保护, 不可被用户态程序访问