如果使用官方的Java镜像,或者基于Java镜像构建的Docker镜像,都可以通过传递 JAVA_OPTS 环境变量来轻松地设置JVM的内存参数。比如,对于官方Tomcat 镜像,我们可以执行下面命令来启动一个最大内存为512M的tomcat实例 在日志中,我们可以清楚地发现设置已经生效 “Comm ...
分类:
编程语言 时间:
2017-03-30 23:24:07
阅读次数:
588
控制MaxClients的设置,以避免服务器产生太多的子进程而发生交换。进程间的数据交换会占用很大内存,数据交换产生的滞后使用户总感觉”不够快”,所以用户就可能去按”停止”和”刷新”,从而带来更大的负载。一般建议小网站将MaxClients设置为12~24。 选择更好的硬件,CPU、内存、硬盘等等这 ...
分类:
Web程序 时间:
2017-03-30 16:05:59
阅读次数:
167
控制MaxClients的设置,以避免服务器产生太多的子进程而发生交换。进程间的数据交换会占用很大内存,数据交换产生的滞后使用户总感觉”不够快”,所以用户就可能去按”停止”和”刷新”,从而带来更大的负载。一般建议小网站将MaxClients设置为12~24。 选择更好的硬件,CPU、内存、硬盘等等这 ...
分类:
Web程序 时间:
2017-03-23 20:04:29
阅读次数:
200
最近在跑大数据,发现outofmemorykillprocess(java)scoreorachild,查资料发现是操作系统linuxlowmem太低,后来加大内存一样不管用,开始分析代码:将代码中的String字符串拼接改成StringBuilder(单线程速度比StringBuffer快)将获取文件名称的方法file.listFiles()改成file.l..
分类:
编程语言 时间:
2017-03-10 22:40:18
阅读次数:
191
从源码中可以看到,PyListObject中存储数据用的是PyObject **ob_item, 是当作Vector类似的方法。 Items must normally not be NULL,这句是说list中的元素从list中删除,并不会立即free, 而是放到list的缓存池中。这个和整数,字 ...
分类:
编程语言 时间:
2017-03-10 22:08:33
阅读次数:
156
最简单的方法是依次遍历每个数字,但这种算法时间复杂度太高,若再用上递归,数字一大内存就爆了,时空复杂度都很高,令人无法忍受。 因此探索出一种目前为止比较满意的方法。 思路来自《编程之美》计算数字1的个数(友情提示:若没有看过请先预习,方便理解以下代码),拓展一下即可(特别要注意的是计算数字0,它不可 ...
分类:
其他好文 时间:
2017-03-08 12:30:37
阅读次数:
302
简单的说明 可能很少情况会使用PHP来操控共享内存,一方面在内存的控制上,MC已经提供了一套很好的方式,另一方面,自己来操控内存的难度较大,内存的读写与转存,包括后面可能会用到的存储策略,要是没有一定计算机组成原理的基础,想做这些不是一件容易的事情。那为什么还要使用它呢?如果我想进行管道通信,为其它 ...
分类:
Web程序 时间:
2017-03-02 12:25:14
阅读次数:
327
#pragma pack(n) 当n大于结构体中内存占用最大的变量内存时,将按照最大内存变量的字节占用数进行对齐,否则,就根据n进行对齐 情况一: 例一: #pragma pack(4) struct node{ int a; char b; char c;}; struct node n; pri ...
分类:
编程语言 时间:
2017-02-24 23:38:46
阅读次数:
226
结果会证明,第一个字节是0000 0010,第二个字节是0000 0001,所以不是我们平时写的那样0000 0001 0000 0010,指针取得首地址在0000 0010 上,第二字节有点像堆在上面,这里面好像有术语低地址高地址什么的,现在就不深入,用实验明白就行。 上面代码说明了小内存想大内存 ...
分类:
其他好文 时间:
2017-02-21 15:57:34
阅读次数:
206
Redis sentinel 集群方案——部署公司新项目需要使用redis集群,综合考虑了一些方案,最后选择了Redis sentinel,先在虚拟机部署测试环境如下:sentinel 2台redis 实例 3个部分配置如下,采用的默认配置,记得开启认证及最大内存限制,即使是测试环境也要开启认证,好... ...
分类:
其他好文 时间:
2017-02-13 12:37:30
阅读次数:
331