在操作系统中启动服务器,服务器就会有一个监听客户端连接的套接字,每有一个客户端连接服务器,就会向套接字列表中添加一个客户端套接字,此时加上服务器本身的监听套接字,目前列表中有两个套接字,当有别的客户端再连接时,继续往列表中加套接字。应用程序有一份自己的内存空间,操作系统也有一份自己的内存空间,彼此之间相互隔离。linux操作系统的核心是kernel,当系统去遍历套接字列表时,就是把列表中套接字的Fd(文件描述符)复制一份给kernel,当列表比较大时,就会耗费过多的时间,(这个从第一个遍历到最后一个循环往复的过程叫轮询)这样导致效率不太高。
epoll的优势就在于1.它内部有一个特殊的内存空间,这个特殊的内存空间不属于程序也不属于内核,是它们两个共有的,这样就减少了一个复制的过程。2.为了进一步提升效率,epoll不采用轮询而采用一种效率更高的方式:事件通知,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了,
Nginx(性能优异)、 Apche(稳定优异)是当今世界很出名的两大服务器
任务管理器可以查看进程和线程数,也可以用来杀死进程
tasklist 查看进程
taskkill 杀死进程
ps -fe 查看所有进程
ps -fT -p <PID>查看某个进程(PID)的所有线程
kill 杀死进程
top 按大写 H 切换是否显示线程
top -H -p <PID>查看某个进程(PID)的所有线程
jps 命令查看所有 Java 进程
jstack <PID>查看某个 Java 进程(PID)的所有线程状态
jconsole 来查看某个 Java 进程中线程的运行情况(图形界面)
jconsole 远程监控配置
需要以如下方式运行你的 java 类
修改 /etc/hosts 文件将 127.0.0.1 映射至主机名
如果要认证访问,还需要做如下步骤
复制 jmxremote.password 文件
修改 jmxremote.password 和 jmxremote.access 文件的权限为 600 即文件所有者可读写
连接时填入 controlRole(用户名),R&D(密码)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)