java进程linux linux查看java版本
linux查看java进程命令
在Linux系统中,可以使用以下命令来查看Java进程:
ps命令:
plaintextCopy codeps-ef| grep java
这个命令会列出所有正在运行的进程,并使用grep命令过滤出包含关键字"java"的进程。这样可以查看到所有与Java相关的进程,包括Java应用程序以及Java相关的工具和服务。
jps命令(仅适用于JDK安装):
plaintextCopy codejps-l
这个命令会列出所有正在运行的Java进程,并显示它们的进程ID(PID)以及完整的主类名。这个命令需要安装JDK,并且只能查看正在运行的Java进程。
top命令:
plaintextCopy codetop
这个命令会实时显示系统的进程和资源使用情况。在top命令的输出中,可以按下Shift+ H(大写H)来显示所有Java进程,或者按下Shift+ L(大写L)来显示所有线程。可以使用方向键上下移动以查看完整的进程列表。
htop命令(如果已安装):
plaintextCopy codehtop
htop是一个更加交互式和可视化的进程查看工具,类似于top命令,但提供了更多的功能和选项。在htop的界面中,可以按下F4键并输入"java"来筛选出与Java相关的进程。
请注意,以上命令需要在具有足够权限的终端中运行,以便查看所有进程
求高手,linux系统几乎所有进程处于sleep状态是否正常
你的sleep进程基本上都是java相关的。可能是由于某个进程长期得不到响应,比如nfs造成的IO中断,应用一直在等待响应,等的都睡着了。。所以也看不到报错,呵呵。具体的也看不出到底是哪个进程引起的。建议就是重启相关的java应用。或者重启机器。
进程为什么会被置于uninterruptible sleep状态呢?处于uninterruptible sleep状态的进程通常是在等待IO,比如磁盘IO,网络IO,其他外设IO,如果进程正在等待的IO在较长的时间内都没有响应,那么就很会不幸地被 ps看到了,同时也就意味着很有可能有IO出了问题,可能是外设本身出了故障,也可能是比如挂载的远程文件系统已经不可访问了,我以前遇到的问题就是由 down掉的NFS服务器引起的。
正是因为得不到IO的相应,进程才进入了uninterruptible sleep状态,所以要想使进程从uninterruptible sleep状态恢复,就得使进程等待的IO恢复,比如如果是因为从远程挂载的NFS卷不可访问导致进程进入uninterruptible sleep状态的,那么可以通过恢复该NFS卷的连接来使进程的IO请求得到满足,除此之外,要想干掉处在D状态进程就只能重启整个Linux系统了。
如何查看linux上java实例消耗内存
mpstat-P ALL和 sar-P ALL
说明:sar-P ALL> aaa.txt重定向输出内容到文件 aaa.txt
top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解.下面几种方法都可以插件Java实例消耗的内存.
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
内容解释:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
2、便捷的进程内存查看:/proc/pid,不过比较难理解
测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息
说明:
/proc/N pid为N的进程信息
/proc/N/cmdline进程启动命令
/proc/N/cwd链接到进程当前工作目录
/proc/N/environ进程环境变量列表
/proc/N/exe链接到进程的执行命令文件
/proc/N/fd包含进程相关的所有的文件描述符
/proc/N/maps与进程相关的内存映射信息
/proc/N/mem指代进程持有的内存,不可读
/proc/N/root链接到进程的根目录
/proc/N/stat进程的状态
/proc/N/statm进程使用的内存的状态
/proc/N/status进程状态信息,比stat/statm更具可读性
/proc/self链接到当前正在运行的进程
3、可以看到进程中每个资源都占用了多少内存:pmap
pmap命令可以显示一个或多个进程所使用的内存数量。你可以使用这个工具来了解服务器上的某个进程分配了多少内存,并以此来判断这是否是导致内存瓶颈的原因。要得到更加详细的信息,使用pmap-d选项。
4、free
free: invalid option-- h
usage: free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-V]
-b,-k,-m,-g show output in bytes, KB, MB, or GB
-l show detailed low and high memory statistics
-o use old format(no-/+buffers/cache line)
-t display total for RAM+ swap
-s update every [delay] seconds
-c update [count] times
-V display version information and exit