本文前半部分结论存在严重错误,请看最后2015-1-20更新部分。最近一直在解决线上一个问题,表现是:Tomcat每到凌晨会有一个高峰,峰值的并发达到了3000以上,最后的结果是Tomcat线程池满了,日志看很多请求超过了1s。服务器性能很好,Tomcat版本是7.0.54,配置如下: 事后...
分类:
编程语言 时间:
2015-01-20 20:14:47
阅读次数:
243
需求1. 将内存、线程数等信息注册到zk上进行监控2. 统计信息,为下一步做负载均衡做准备。实现本文只解决问题1。从网上查询了下,这些信息可以从proc文件系统中获取,如果不知道proc的,可以Google下。网上有读取proc信息的lib——libproc,即 procps , 据说htop等实现...
分类:
其他好文 时间:
2015-01-17 20:43:56
阅读次数:
217
构建一个线程池,可以在池中创建对个线程,用这个线程池去处理事情,会根据实际情况有线程池中的线程分配处理。
public class TestThreadPool {
public static void main(String[] args) {
//ExecutorService ec = Executors.newFixedThreadPool(3);//固定线程数
//E...
分类:
编程语言 时间:
2015-01-17 18:05:18
阅读次数:
196
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办...
分类:
编程语言 时间:
2015-01-14 21:12:38
阅读次数:
215
Linux查看系统cpu个数、核心书、线程数现在cpu核心数、线程数越来越高,本文将带你了解如何确定一台服务器有多少个cpu、每个cpu有几个核心、每个核心有几个线程。查看物理cpu个数grep‘physicalid‘/proc/cpuinfo|sort-u查看核心数量grep‘coreid‘/proc/cpuinfo|sort-u|wc-l查看线..
分类:
编程语言 时间:
2015-01-14 18:14:17
阅读次数:
174
线程池作用:增加了线程的复用,降低了系统的开销原理:每当一个新的任务要执行的时候,系统会创建一个新的线程去执行任务,直到池中的线程数达到了设置的核心线程数,此时当新的任务要执行的时候,如果线程池中有空闲的线程,就用空闲的线程,如果没有,新来的任务将在等待队列中等待,直到有新的线程被释放到池中。如果无...
分类:
编程语言 时间:
2015-01-14 14:04:37
阅读次数:
141
maxThreads="150" minSpareThreads="4" acceptCount="500" #超过了最大线程数后 超过500直接摒弃 maxSpareThreads="50" CATALINA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=...
分类:
其他好文 时间:
2015-01-11 17:36:50
阅读次数:
247
在linux中查看线程数的三种方法
1、top -H
手册中说:-H : Threads toggle
加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。
2、ps xH
手册中说:H Show threads as if they were processes
这样可以查看所有存在的线程。
3、ps -mp
手册中说:m ...
分类:
编程语言 时间:
2015-01-07 14:59:23
阅读次数:
116
最近在windows下使用通过多线程使用jdbc操作数据库,在线程数设置为5,并且每个线程执行完成后Sleep(1000),在这种情况下,竟然还会报错:java.net.SocketException No buffer space available (maximum connections re...