内存参数

一些常见的MySQL配置

耗尽温柔 提交于 2019-11-30 15:05:22
目录 配置 参考 配置 [mysqld] port = 3306 socket = /mysql/log/mysql_3306.sock # mysql的目录(即mysql的文件所在目录) # basedir = /mysql/mysql_basedir # mysql中存放数据的目录 datadir = /mysql/data # mysql的日志目录 log_error = /mysql/log/error.log # pid文件所在目录 pid-file = /mysql/log/mysql_3306.pid # mysqld程序在启动后将在给定UNIX/Linux账户下执行; mysqld必须从root账户启动才能在启动后切换到另一个账户下执行; mysqld_safe脚本将默认使用–user=mysql选项来启动mysqld程序。 # user = root # 配置mysql绑定地址,配置为0.0.0.0可以使该机器所有IP访问 bind-address = 0.0.0.0 # mysql标记,一般使用IP最后一位,不可重复 server-id = 1 # 打开binlog log-bin = mysql-bin # binlog的前缀名 log-bin-index = master-bin.index # 更改服务器的校验规则,默认为utf8mb4_general

Spark开发常用参数

爱⌒轻易说出口 提交于 2019-11-30 14:29:38
Driver spark.driver.cores driver端分配的核数,默认为1,thriftserver是启动thriftserver服务的机器,资源充足的话可以尽量给多。 spark.driver.memory driver端分配的内存数,默认为1g,同上。 spark.driver.maxResultSize driver端接收的最大结果大小,默认1GB,最小1MB,设置0为无限。 这个参数不建议设置的太大,如果要做数据可视化,更应该控制在20-30MB以内。过大会导致OOM。 spark.extraListeners 默认none,随着SparkContext被创建而创建,用于监听单参数、无参数构造函数的创建,并抛出异常。 Executor spark.executor.memory 每个executor分配的内存数,默认1g,会受到yarn CDH的限制,和memoryOverhead相加 不能超过总内存限制。 spark.executor.cores 每个executor的核数,默认yarn下1核,standalone下为所有可用的核。 spark.default.parallelism 默认RDD的分区数、并行数。 像reduceByKey和join等这种需要分布式shuffle的操作中,最大父RDD的分区数;像parallelize之类没有父RDD的操作

哪里有卖全新四件套

前提是你 提交于 2019-11-30 13:35:47
哪里有卖全新四件套█ █微信:619998462█ █ 在Windows中,系统进程,资源管理都是通过可视化操作实现的,如下为Windows经典的可视化系统资源管理,其中,作为开发人员或服务器运维人员, 查看系统系统,系统进程,系统性能和系统服务器是三个重要的参考因素。 然而,在linux系统中,如何实现这些操作呢?本篇文章将从操作的角度,简要分析liunx如何实现Linux系统的监管。 一 查看系统进程 在linux中,查看系统进程的命令为ps,常用格式为如下两个: (1)ps aux:unix格式查看系统进程 (2)ps -le:linux格式查看系统进程 一般地,ps aux更常用,下面主要讲解ps aux命令 (一)查看系统所有进程 ps aux,使用BSD(UNIX)系统格式查看系统所有进程 ​ (二)参数注解 USER --进程使用用户 PID --进程ID %CPU -- 进程占用的CPU %MEM --进程占用内存 VSZ --进程占用虚拟内存,单位为KB RSS --进程占用物理内存,单位为KB TTY --该进程所运行终端 (1)tty1-tty7:本地控制台终端(tty1-tty6:本地字符界面终端;tty7:图形终端) (2)pts/0-255:虚拟终端,即远程终端 (3)?:由linux内核直接调用,不由终端调用 STAT -- 进程状态

mysql的优化

耗尽温柔 提交于 2019-11-30 12:50:57
目录 max_connections connect_timeout interactive_timeout|wait_timeout net_retry_count thread_concurrency thread_cache_size|thread_stack open_files_limit max_connect_errors back_log max_allowed_packet ft_min_word_len auto_increment_increment|auto_increment_offset log_bin_trust_function_creators read_buffer_size performance_schema skip-locking|skip-external-locking skip-name-resolve table_cache init_connect explicit_defaults_for_timestamp transaction-isolation key_buffer_size table_open_cache sort_buffer_size join_buffer_size read_rnd_buffer_size myisam_sort_buffer_size query_cache_size|query

常用的Linux命令

让人想犯罪 __ 提交于 2019-11-30 12:43:50
学习链接: linux命令学习1 linux命令学习2 常用命令: history history命令就是历史记录. 它显示了在终端中所执行过的所有命令的历史. 参考链接: 1. 对Linux新手非常有用的 20个命令 grep 管道, 过滤, 作为linux中最为常用的三大文本(awk, sed, grep)处理工具之一, grep命令的常用格式为: grep [选项] "模式" [文件] , grep家族总共有三个: grep , egrep , fgrep , 一般常用grep. 扩展选项如下:  -E : 开启扩展Extend的正则表达式. -i : 忽略大小写ignore case. -n : 显示行号 -w : 被匹配的文本只能是单词, 而不能是单词中的某一部分, 如文本中有liker, 而我搜寻的只是like, 就可以使用-w选项来避免匹配liker --color :将匹配到的内容以颜色高亮显示. 参考链接: 1. linux中grep命令的用法 awk 1. awk学习 sed 1. sed学习 xxx --help(man xxx) xxx --help, 是对xxx命令的常用选项和用法格式的一个介绍, man xxx也是介绍, man的内容比较复杂是详细介绍, xxx --help比较简洁, 简单介绍 pwd 当前路径(dirs) l(ls)

HBase 中的 JVM 与 GC

天大地大妈咪最大 提交于 2019-11-30 07:53:43
HBase 中JVM基本配置 在JVM中,默认情况下会设置minimum heap size 为 1/64 可用物理内存,并为maximum heap size设置 1/4 的物理可用内存(不过在Java8 之前,默认最大是1g)。当然,我们可以通过手动指定 JVM 参数,配置JVM的内存,例如: -Xms10g -Xmx10g 在HBase 中,也可以在 hbase-env.sh 中显示指定堆内存大小,例如: # The maximum amount of heap to use. Default is left to JVM default. # export HBASE_HEAPSIZE=1G 这里有个问题是:是否要同时设置-Xms 与 -Xmx为一相同的值?若是将他们设置为同一一个固定值,则它们的优缺点有: 对于一些垃圾回收的算法,例如G1,将它们锁定为同一值会更好 不设置 -Xms可以让VM启动更快,但是接下来,需要在每轮gc 增长堆内存后,才会达到一个稳定状态。这样会导致在启动后,最开始会带来一些延迟,这个延时并不是我们在HBase中期望看到的,因为HBase提供的服务一般都是交互式服务 若是设置-Xms与-Xmx为同一值,则JVM在启动时会稍慢,不过在正常启动后,不会再有隐含的内存大小调整的情况,所以会更稳定。而在RegionServer 的进程中

面试(四)

痞子三分冷 提交于 2019-11-30 06:34:03
Java中如何获取到线程dump文件 死循环、死锁、阻塞、页面打开慢等问题,打线程dump是最好的解决问题的途径。所谓线程dump也就是线程堆栈,获取到线程堆栈有两步: (1)获取到线程的pid,可以通过使用jps命令,在Linux环境下还可以使用ps -ef | grep java (2)打印线程堆栈,可以通过使用jstack pid命令,在Linux环境下还可以使用kill -3 pid 如何在两个线程之间共享数据 通过在线程之间共享对象就可以了,然后通过wait/notify/notifyAll、await/signal/signalAll进行唤起和等待,比方说阻塞队列BlockingQueue就是为线程之间共享数据而设计的 sleep方法和wait方法有什么区别 sleep方法和wait方法都可以用来放弃CPU一定的时间,不同点在于如果线程持有某个对象的监视器,sleep方法不会放弃这个对象的监视器,wait方法会放弃这个对象的监视器 为什么wait()方法和notify()/notifyAll()方法要在同步块中被调用 这是JDK强制的,wait()方法和notify()/notifyAll()方法在调用前都必须先获得对象的锁 wait()方法和notify()/notifyAll()方法在放弃对象监视器时有什么区别 区别在于: wait()方法立即释放对象监视器

浅析 Spark Shuffle 内存使用

寵の児 提交于 2019-11-30 06:07:59
在使用 Spark 进行计算时,我们经常会碰到作业 (Job) Out Of Memory(OOM) 的情况,而且很大一部分情况是发生在 Shuffle 阶段。那么在 Spark Shuffle 中具体是哪些地方会使用比较多的内存而有可能导致 OOM 呢? 为此,本文将围绕以上问题梳理 Spark 内存管理和 Shuffle 过程中与内存使用相关的知识;然后,简要分析下在 Spark Shuffle 中有可能导致 OOM 的原因。 一、Spark 内存管理和消费模型 在分析 Spark Shuffle 内存使用之前。我们首先了解下以下问题:当一个 Spark 子任务 (Task) 被分配到 Executor 上运行时,Spark 管理内存以及消费内存的大体模型是什么样呢?(注:由于 OOM 主要发生在 Executor 端,所以接下来的讨论主要针对 Executor 端的内存管理和使用)。 1,在 Spark 中,使用抽象类 MemoryConsumer 来表示需要使用内存的消费者。在这个类中定义了分配,释放以及 Spill 内存数据到磁盘的一些方法或者接口。具体的消费者可以继承 MemoryConsumer 从而实现具体的行为。 因此,在 Spark Task 执行过程中,会有各种类型不同,数量不一的具体消费者。如在 Spark Shuffle 中使用的

成为Java GC专家(4)—Apache的MaxClients参数详解及其在Tomcat执行Ful

陌路散爱 提交于 2019-11-30 05:34:32
这是“成为Java GC专家系列文章”的第四篇。 在第一篇文章 成为JavaGC专家Part I — 深入浅出Java垃圾回收机制 中我们学习了不同GC算法的执行过程,GC如何工作,新生代及老年代的基本概念,在JDK7中你应该了解的5种GC类型以及他们的性能如何。 在第二篇文章 成为JavaGC专家Part II — 如何监控Java垃圾回收机制 中我们学到了JVM到底是如何执行垃圾回收,我们如何监控GC,以及那些工具可以使得监控过程更高效。 在第三篇文章 成为Java GC专家系列Part III–如何优化Java垃圾回收机制 中我们通过实际的例子学到了一些可以优化GC的参数。同时我们讲解了如何减少对象被转移到老年代空间,如何缩短Full GC时间,以及如何设置GC类型及内存空间。 在第四篇文章中,我们将阐述Apache中MaxClients 参数的重要性,以及他如何在GC发生时,显著地影响整个系统的性能。我将提供几个例子以方便你理解MaxClients 导致的问题。同时我还会说明如何根据系统的内存情况,设置最佳的MaxClients参数值。 MaxClients对于系统的影响 NHN (译者注:NHN是作者工作的公司)服务的执行环境中存在一组 Throttle valve -type参数(译者注:节流阀参数,用于控制系统负载)。这些参数对于系统来说十分重要

linux tomcat jvm内存优化

China☆狼群 提交于 2019-11-30 05:00:50
PermGen space:全称是Permanent Generation space。就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域 Heap space:存放Instance。 GC(Garbage Collection)应该不会对PermGen space进行清理 所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误 Java Heap分为3个区,Young,Old和Permanent。Young保存刚实例化的对象。当该区被填满时,GC会将对象移到Old区。Permanent区则负责保存反射对象,本文不 讨论 该区。 JVM的Heap分配可以使用-X参数设定, -Xms 初始Heap大小 -Xmx java heap最大值 -Xmn young generation的heap大小 JVM有2个GC线程。第一个线程负责回收Heap的Young区。第二个线程在Heap不足时,遍历Heap,将Young 区升级为Older区。Older区的大小等于-Xmx减去-Xmn,不能将-Xms的值设的过大,因为第二个线程被迫运行会降低JVM的性能。 为什么一些程序频繁发生GC?有如下原因: l 程序内调用了System.gc()或Runtime.gc()。 l 一些中间件软件调用自己的GC 方法