内存参数

redis安装

三世轮回 提交于 2020-02-17 12:04:45
第一步:下载安装包 访问https://redis.io/download 到官网进行下载。这里下载最新的4.0版本. 第二步:安装 1.通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作 tar -zxf redis-4.0.9.tar.gz 2.进入解压文件目录使用make对解压的Redis文件进行编译 图示:这里因为我redis的安装目录在 /usr/locat/ 目录下,因此会有如下操作 注:如果在编译过程中出现问题,有可能是安装包下载的有误,这里可以尝试的用别人下载的安装包或者直接用 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 如果发现上述读不能解决问题,请参照该链接:https://www.cnblogs.com/liu2-/p/6914159.html 编译完成之后,可以看到解压文件redis-3.0.7 中会有对应的src、conf等文件夹 3.编译成功后,进入src文件夹,执行make install进行Redis安装。 如下图示安装完成,界面如下: 第三步:部署 1.为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中 1)、创建bin和etc文件 如图示: 2)、回到刚刚安装目录,找到redis.conf,将其复制移动到 /usr/local

ubuntu查看系统资源占用(内存,cpu和进程)

社会主义新天地 提交于 2020-02-16 19:00:31
ubuntu查看系统资源占用(内存,cpu和进程) https://www.cnblogs.com/hanlong/p/5757075.html 1 top 查看ubuntu的资源占用的命令为 $: top 说明:top命令就可以查看内存,cpu和进程了,很方便 top: 主要参数 d:指定更新的间隔,以秒计算。 q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。 c:显示进程完整的路径与名称。 S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。 s:安全模式。 i:不显示任何闲置(Idle)或无用(Zombie)的行程。 n:显示更新的次数,完成后将会退出to 显示参数: PID(Process ID):进程标示号。 USER:进程所有者的用户名。 PR:进程的优先级别。 NI:进程的优先级别数值。 VIRT:进程占用的虚拟内存值。 RES:进程占用的物理内存值。 SHR:进程使用的共享内存值。 S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。 %CPU:该进程占用的CPU使用率。 %MEM:该进程占用的物理内存和总内存的百分比。 TIME+:该进程启动后占用的总的CPU时间。 Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。 top命令 《空格》:立刻刷新。

Java面向对象[方法]

可紊 提交于 2020-02-15 06:14:47
方法是类和对象的行为特征的抽象,Java中的方法与传统的函数非常相似又有着显著的不同,在结构化语言中函数是最小单位,整个软件由一个一个函数组成;在面向对象语言中,类是最小单位,整个系统由一个一个类组成,在java中方法不能独立存在,必须属于类或者对象。 方法必须属于类或者对象 如果要定义方法,则只能在类体内定义,不能独立定义方法,如果类中的方法由static修饰,那么这个方法属于这个类,否则该方法属于这个类的实例 Java语言是静态的,一个类定义完成后,只要不再重新编译这个类文件,该类和类的对象所拥有的方法是固定的,永远都不会改变 方法不能独立定义,也不能独立执行,它的调用方式必须是【类.方法】【对象.方法】 同一个类中的一个方法调用另一个方法时,如果被调用的是普通方法,则默认使用this作为调用者,如果被调用的方法是静态方法,则默认使用类作为调用者,表面上看是独立执行,但实际上只是隐藏了主调 需要注意的是static修饰的方法既可以使用类作为调用者,也可以使用对象作为调用者来调用,但static修饰的方法属于类,虽然使用类的对象调用static修饰的方法能够得到相同的执行结果,但那是因为底层依然是使用这些实例所属的类作为调用者,执行虽然不会报异常,但并不支持这么写程序 Java方法的参数传递机制 如果声明方法的时候指定了形参,那么调用方法时必须给这些形参指定参数值

JVM探秘:内存溢出

人盡茶涼 提交于 2020-02-13 10:30:25
在 Java 虚拟机内存区域中,除了程序计数器外,其他几个内存区域都可能会发生OutOfMemoryError,这次通过一些代码来验证虚拟机各个内存区域存储的内容。 在实际工作中遇到内存溢出异常时,需要做到能根据异常信息快速判断是哪个内存区域的溢出,知道什么样的代码会导致这些区域内存溢出,并且知道出现内存溢出后如何处理。 Java堆溢出# Java 堆用于存储对象实例,只要不断的扩展对象,并且保证 GC Roots 到对象有可达路径来避免垃圾回收,那么对象数量到达堆的最大容量后就会发生内存溢出异常。 模拟堆内存溢出# 以下代码会把堆大小限制在20M且不可扩展(将最小参数-Xms和最大参数-Xmx设为相同就会避免自动扩展),通过参数-XX:+HeapDumpOnOutOfMemoryError可以让虚拟机在发生内存溢出时Dump出内存快照用来分析。 参数 说明 -XX:+HeapDumpOnOutOfMemoryError 内存溢出时自动导出内存快照 -XX:HeapDumpPath=E:/dumps/ 导出内存快照时保存的路径 Copy /** * Java堆内存溢出异常 * VM args: -Xms20M -Xmx20M -XX:+HeapDumpOnOutOfMemoryError * -Xms和-Xmx设为相同值避免堆内存自动扩展, * -XX:

c++ 面试整理

别说谁变了你拦得住时间么 提交于 2020-02-11 02:58:10
1. 继承方式 public   父类的访问级别不变 protected 父类的public成员在派生类编程protected,其余的不变 private 父类的所有成员变成private #include <iostream> using namespace std; class base { public: void printa() { cout <<"base"<< endl; } protected: void printhello() { cout <<"helo"<< endl; } private: void printnohello() { cout <<"no hello"<< endl; } }; class derived : public base { public: void printb() { printhello(); } // void printc() { printnohello(); } //printnohello是父类的私有函数,不可访问 }; int main() { base a; a.printa(); //a.printhello(); //printhello是类derived的protected函数,不可访问。 } 2. sizeof 和 strlen 的区别 sizeof 是一个操作符,strlen 是库函数。

JVM 垃圾收集器CMS相关参数

℡╲_俬逩灬. 提交于 2020-02-10 20:21:23
CMS相关参数 -XX:+UseConcMarkSweepGC 使用CMS内存收集 测试中配置这个以后,-XX:NewRatio=4的配置失效了,原因不明.所以,此时年轻代大小最好用-Xmn设置.??? -XX:+AggressiveHeap 试图是使用大量的物理内存 长时间大内存使用的优化,能检查计算资源(内存, 处理器数量) 至少需要256MB内存 大量的CPU/内存, (在1.4.1在4CPU的机器上已经显示有提升) -XX:CMSFullGCsBeforeCompaction 多少次后进行内存压缩 由于并发收集器不对内存空间进行压缩,整理,所以运行一段时间以后会产生"碎片",使得运行效率降低.此值设置运行多少次GC以后对内存空间进行压缩,整理. -XX:+CMSParallelRemarkEnabled 降低标记停顿 -XX+UseCMSCompactAtFullCollection 在FULL GC的时候, 对年老代的压缩 CMS是不会移动内存的, 因此, 这个非常容易产生碎片, 导致内存不够用, 因此, 内存的压缩这个时候就会被启用。 增加这个参数是个好习惯。 可能会影响性能,但是可以消除碎片 -XX:+UseCMSInitiatingOccupancyOnly 使用手动定义初始化定义开始CMS收集 禁止hostspot自行触发CMS GC -XX

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配置,但是节点数量翻翻

myeclipse优化配置

烂漫一生 提交于 2020-02-09 17:48:30
很多人都感觉myeclipse机子启动速度太慢,那是因为里面集成了太多的功能,但对于大多数人来说是不必要的,只需要根据自己正在用的项目加载相应的工具就行了。等到用到其他的时候再加载需要的。 <1> Myeclipse的安装目录下面有个名为eclipse.ini的文件, 用记事本打开后, 修改参数: 把-Xms128m改成-Xms256m 把-Xmx256m改成-Xmx512m <2> 去除不需要加载的模块Windows - Preferences --> General--> Startup and Shutdown 这时右侧就 显示出了Eclipse启动时加载的模块,根据需要去除一些模块。 <3>取消启动时自动验证项目配置文件 Window -> Preferences -> MyEclipse Enterprise Workbench-> Run Validation 在右侧的Validator列表中只保留 Manual 项就可以了 如果需要验证的时候只需要选中 文件,然后右键选择 MyEclipse - Run Validation就可以了 我机子的优化修改 1. Windows - Preferences --> General--> Startup and Shutdown原来自己机子上面启动很慢,但是现 在很快,因为几乎去掉了这里面所有不该启动地项目加载。 2

redis.conf常用参数配置说明

僤鯓⒐⒋嵵緔 提交于 2020-02-09 11:00:27
include /path/to/local.conf #指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件 daemonize no #Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 pidfile /var/run/redis.pid #当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 port 6379 #指定Redis监听端口,默认端口为6379 bind 127.0.0.1 #绑定的主机地址 timeout 300 #.当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能,单位为秒 loglevel verbose #指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose logfile stdout #日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null databases 16 #设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id save <seconds>