linux的top命令不仅可以看线程的资源占用,还可以看进程下线程的资源占用,结合对应的java命令可以定位到具体有问题的Java代码,以找出占用CPU最高的线程为例: 第一步: 通过 top命令查找到这个消耗CPU的进程号PID 8958 第二步:使用 top -Hp pid(shift+p 按cpu排序,shift+m 按内存排序) top -Hp 8958 获取到这个进程下面所有线程,通过查看%CPU找到最耗费CPU的是线程PID 第三步:使用 printf '%x\n' PID (PID…
与linux下top命令直接显示进程下线程资源占用不同,Windows下默认任务管理器只能显示出进程的资源占用,jconsle等工具也只能显示出java进程资源占用,无法显示出进程能具体线程的资源占用,为此需要用到一个工具processExplorer. 1.用任务管理器或jconsle工具占用资源最高的java进程pid: 2.用processExplorer工具找到这个进程下线程的资源占用情况,找到占用资源最高的线程id,将其转换为16进制显示: 3.jconsle或jstack java进…
java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space --------------------------------------------------------- 这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理. 一.java.lang.OutOfMemoryError: PermGen space PermGen space的全称…
之前一直用jconsole监控jvm,图形界面简单易用,最近因为需要在纯linux下进行操作,所以总结了一下 linux下监控jvm的例子,这次主要用到了jstat工具, 各个参数意义: jstat -class pid:显示加载class的数量,及所占空间等信息. jstat -compiler pid:显示VM实时编译的数量等信息. jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间.其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数…
Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端口号:netstat -anp|grep pid Linux下查看端口号所使用的进程号: 使用lsof命令: lsof –i:端口号…
linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方式. 通过进程的 status [root@web3_u ~]# cat /proc/25282/status Name: php-cgiState: S (sleeping)Tgid: 25282Pid: 25282PPid: 27187TracerPid: 0Uid: 99 99 99 99Gi…
linux 下查看进程占用端口:(1)查看程序对应的进程号: ps -ef | grep 进程名字 (2)查看进程号所占用的端口号: netstat -nltp | grep  进程号 ubuntu :查看进程占用端口号:netstat -anp | grep pid linux 下查看端口号所使用的进程号:(1)使用 lsof 命令:lsof -i:端口号…
Linux下端口被占用(例如端口3000),关掉端口占用的进程的方法: 1.netstat -tln | grep 3000 2.sudo lsof -i:3000 3.sudo kill -9 进程…
Linux下查看端口占用进程号,程序名的方法,方便我们查找什么进程导致系统变慢等需要.linux下查看端口占用情况: 1. 查看哪个进程占用了819端口: case9-sghfofo:/usr/local/cnbj/tomcat-bj/bin # lsof -i:859 运行后的结果: COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME java 24907 root 31u IPv4 248905027 TCP *:859 (LISTEN) 由以上我们…
背景 记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于100%,本地又没有什么接口调用,为什么会这样?cpu使用率居高不下,自然是有某些线程一直占用着cpu资源,那又如何查看占用cpu较高的线程? 当然一个正常的程序员不会写出上述代码,这里只是为了让一个线程占用较高的cpu资源. top命令 在linux环境下,可以通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序 1.上图中可以看出pid为23344的java进程占用了较多的cpu资源:2.通过top -Hp 23…
今天看到stackoverflow上关于linux下如何查看某个进程占用的内存是多少的回答,觉得非常棒,不过是全英文的,很多人可能看不懂,所以我翻译一下 翻译自http://stackoverflow.com/questions/3853655/in-linux-how-to-tell-how-much-memory-processes-are-using 查看进程占用的内存的方式可能比你想象中的要复杂的多.我所找到的最好的方式是在这篇文章里面看到的(https://web.archive.or…
转于:http://www.cnblogs.com/lidabo/p/4738113.html 目录(?)[-] proc文件系统 proccpuinfo文件 procstat文件 procpidstat文件 procpidtasktidstat文件 系统中有关进程cpu使用率的常用命令 ps 命令 top命令 单核情况下Cpu使用率的计算 基本思想 总的Cpu使用率计算 计算方法 某一进程Cpu使用率的计算 计算方法 实验数据 某一线程Cpu使用率的计算 计算方法 实验数据 多核情况下cpu使…
目录(?)[-] proc文件系统 proccpuinfo文件 procstat文件 procpidstat文件 procpidtasktidstat文件 系统中有关进程cpu使用率的常用命令 ps 命令 top命令 单核情况下Cpu使用率的计算 基本思想 总的Cpu使用率计算 计算方法 某一进程Cpu使用率的计算 计算方法 实验数据 某一线程Cpu使用率的计算 计算方法 实验数据 多核情况下cpu使用率的计算 实验一 描述 数据一 数据二 实验二 描述 数据一 数据二 主要问题 Java 系统…
在 Linux 下 top 工具可以显示 cpu 的平均利用率(user,nice,system,idle,iowait,irq,softirq,etc.),可以显示每个 cpu 的利用率.但是无法显示每个线程的 cpu 利用率情况,这时就可能出现这种情况,总的 cpu 利用率中 user 或 system 很高,但是用进程的 cpu 占用率进行排序时,没有进程的 user 或 system 与之对应. 可以用下面的命令将 cpu 占用率高的线程找出来:$ ps H -eo user,pid,p…
ulimit命令查看和更改系统限制 ulimit命令详解 ulimit用于shell启动进程所占用的资源,可以用来设置系统的限制 语法格式 ulimit [-acdfHlmnpsStvw] [size] 在/etc/security/limits.conf文件中定义 限制. 命令参数 描述 例子 -H 设置硬资源限制,一旦设置不能增加. ulimit – Hs 64:限制硬资源,线程栈大小为 64K. -S 设置软资源限制,设置后可以增加,但是不能超过硬资源设置. ulimit – Sn 32:…
Java 系统性能分析 命令 1. cpu分析 top , pidstat(sysstat) pid -p PID -t 1 10 vmstat 1 CPU上下文切换.运行队列.利用率 ps Hh -eo tid pcpu 查看具体线程的CPU消耗 sar 来查看一定世界范围内以及历史的cpu消耗情况信息 查看java线程信息 jstack pid | grep 'nid=0x9999' 2. cs sy消耗比较高 上下文切换性能偏高, jstack -l pid, 查看on object mo…
更好的计时器类实现:LINUX RTC机制实现计时器类(原创) 很多时候需要在LINUX下用到定时器,但像setitimer()和alarm()这样的定时器有时会和sleep()函数发生冲突,这样就给编程带来了很大的困难.    写了一个定时器的类,使用select进行精确定时.而且可以在系统中创建不限数量的定时器,且互不干扰.类的内部采用线程实现.即线程+select.代码如下: CTimer.h:/** CTimer.h** Created on: 2009-7-13*      Autho…
在即安装有tomcat,又安装有nginx的服务器上(典型阿里云驻云java镜像),系统默认配置nginx占用80端口,tomcat占用8080端口. 如果想要便于用户可以直接通过IP或者域名访问到tomcat下的web项目,就需要将tomcat的端口调整为80端口. 正常情况写的解决方法有以下两种:​ 1,直接更改tomcat默认端口8080为80 打开tomcat安装目录下的conf文件夹,找到server.xml文件,编辑修改"8080"为80. <connectionTi…
环境:服务器端: Linux + jdk1.7.0_75 + tomcat 7本地: Win + jdk1.7.0_55 一.修改/etc/hosts文件 hostname -i 如果显示127.0.0.1时,修改/etc/hosts 将127.0.0.1替换成linux服务器的真实ip 二.修改 catalina.sh文件 vim  /usr/local/tomcat7**/bin/catalina.sh   #进入tomcat的bin目录下 在# OS specific support. …
测试环境:Ubuntu14.04 1.  获取进程ID号 ps -aux | grep your_process_name 例如: xxx@xxx:~$ ps -e |grep Midlet|awk '{print $1}' 9356 2.  查看进程相关信息 2.1 查看进程树信息: xxx@xxx:~$ pstree -p 9356 runMidlet(9356)───{runMidlet}(9357) 2.2 查看进程打开的文件: xxx@xxx:~$ lsof -p 9356 lsof:…
  有时候关闭软件后,后台进程死掉,导致端口被占用.下面以JBoss端口8083被占用为例,列出详细解决过程. 解决方法: 1.查找被占用的端口 netstat -tln netstat -tln | grep 8083 netstat -tln 查看端口使用情况,而netstat -tln | grep 8083 则是只查看端口8083的使用情况 2.查看端口属于哪个程序?端口被哪个进程占用 lsof -i :8083 3.杀掉占用端口的进程 kill -9 进程id 转自:http://ta…
---查看系统默认的最大文件句柄数,系统默认是1024 # ulimit -n 1024 ----查看当前进程打开了多少句柄数 # lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more 131 24204 57 24244 57 24231  ........ 其中第一列是打开的句柄数,第二列是进程ID. 可以根据ID号来查看进程名. # ps aef|grep 24204 nginx 24204 24162 99 16:15 ? 00:24:2…
https://blog.csdn.net/liufuwu1/article/details/71123597[root@server-crm mysql]# ps -ef | grep "tomcat" : pts/ :: /usr/lib/jvm/jre/bin/java -classpath :/usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/comm…
1. lsof -i:端口号 用于查看某一端口的占用情况 需要注意的是,centos默认是没有安装lsof(list open files)的,需要手动安装 yum install lsof 各列代表的含义: COMMAND:进程的名称 PID:进程标识符 USER:进程所有者 FD:文件描述符,应用程序通过文件描述符识别该文件.如cwd.txt等 TYPE:文件类型,如DIR.REG等 DEVICE:指定磁盘的名称 SIZE:文件的大小 NODE:索引节点(文件在磁盘上的标识) NAME:打开…
有时候关闭软件后,后台进程死掉,导致端口被占用.下面以JBoss端口8083被占用为例,列出详细解决过程. 解决方法: 1.查找被占用的端口 netstat -tln netstat -tln | grep 8083 netstat -tln 查看端口使用情况,而netstat -tln | grep 8083 则是只查看端口8083的使用情况 2.查看端口属于哪个程序?端口被哪个进程占用 lsof -i :8083…
在做一个测试时,需要模拟服务器CPU占用满的情况,在查阅相关资料后,发现网上程序不太好用, 原文在这:http://www.2cto.com/os/201304/202068.html 优化后如下: #! /bin/sh # filename killcpu.sh ] ; then echo "USAGE: $0 <CPUs>|stop" exit ; fi stop() { while read LINE do $LINE echo "kill $LINE su…
1.找出占用端口进程的pid sudo lsof -i:port 2.终止进程 pid…
1.查看端口 netstat -ano 参数含义: -a, --all  显示监听或非监听状态的接口 Show  both listening and non-listening (for TCP this means established connections) sockets. -o, --timers  包括相关信息网络定时器. Include information related to networking timers. -n 拒绝显示别名,能显示数字的全部转化成数字. Show…
1.先介绍几个命令: 1. lsof -i:80 查看80端口的占用情况 命令返回结果: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 46678 xiaoju 7u IPv4 3292095214 0t0 TCP *:http (LISTEN) 2. netstat -lpn | grep 80 查看80端口服务端socket占用状况 netstat命令介绍见http://man.linuxde.net/netstat,其中注…
用启动服务的账号登录,然后运行命令: lsof -i:<端口号> 也可使用命令: netstat -apn|grep <端口号> 找到进程号以后,再使用以下命令查看详细信息: ps -aux|grep <进程号> [注]最小化安装的Centos7系统并没有nano.vim.wget.curl.ifconfig.lsof命令,这里首先安装一下: yum -y install nano vim wget curl net-tools lsof…