jps查看进程出现「xxxx -- process information unavailable」

2023-05-16

jps查看进程出现「xxxx – process information unavailable」

文章目录

  • jps查看进程出现「xxxx -- process information unavailable」
    • 0. 写在前面
    • 1. 报错
    • 2. 参考


在这里插入图片描述


0. 写在前面

  • 实验背景:离线数仓使用Kerberos安全环境下
  • Linux:CentOS7.5
  • Azkaban:Azkaban3.84.4
  • Hadoop:Hadoop3.1.3
  • Hive:Hive3.1.2
  • Kylin:Kylin3.0.2
  • ZooKeeper:Zookeeper3.5.7
  • HBase:HBase2.0.5

1. 报错

  • 场景

「Azkaban全流程调度」 & 「Kylin的Web端生成一个Cube」

  • 信息
[root@node03 ~]# jps
9361 Jps
8764 -- process information unavailable

起初暴力kill -9并没有解决

[root@node03 ~]# kill -9 8764
bash: kill: (8764) - 没有那个进程
[root@node03 ~]# jps
9376 Jps
8764 -- process information unavailable
  • 原因分析
  1. 不同用户之间kill进程时,会造成这种现象

比如:zhangsan用户启动了一个java进程,但是root用户kill掉这个进程,虽然杀掉了,但是查看进程时偶尔就会出现

  1. 因为某些进程没有被正常结束,比如资源占用过大时挂掉或者没有结束进程就直接重启计算机,会导致原有进程变为-- process information unavailable这样的空值

很明显,由于「azkaban全流程调度」以及「Kylin的Web端生成一个Cube」这两个操作都是相当消耗资源的,内存使用率占比高达98%。

不理会它,一段时间后可能会自动消失不见。

此处需要手动处理

  • 方法如下:

进入/tmp目录,找到hsperfdata_开头的目录,查找-- process information unavailable对应进程号的文件,将其删除即可

[root@node03 ~]# cd /tmp/
[root@node03 tmp]# ll
总用量 44
drwxr-xr-x. 3 hbase   hadoop 4096 9月  18 08:31 hbase-hbase
drwxr-xr-x. 2 azkaban hadoop 4096 9月  18 05:42 hsperfdata_azkaban
drwxr-xr-x. 2 hbase   hadoop 4096 9月  18 08:56 hsperfdata_hbase
drwxr-xr-x. 2 hdfs    hadoop 4096 9月  18 08:59 hsperfdata_hdfs
drwxr-xr-x. 2 hive    hadoop 4096 9月  18 08:53 hsperfdata_hive
drwxr-xr-x. 2 presto  hadoop 4096 9月  18 08:55 hsperfdata_presto
drwxr-xr-x. 2 root    root   4096 9月  18 09:00 hsperfdata_root
drwxr-xr-x. 2 yarn    hadoop 4096 9月  18 08:59 hsperfdata_yarn
drwx------. 2 root    root   4096 9月  14 07:12 vmware-root
[root@node03 tmp]# ls hsperfdata_azkaban/
[root@node03 tmp]# ls hsperfdata_hbase/
[root@node03 tmp]# ls hsperfdata_presto/
[root@node03 tmp]# ls hsperfdata_hdfs/
[root@node03 tmp]# ls hsperfdata_hive/
8764
[root@node03 tmp]# cd hsperfdata_hive/
[root@node03 hsperfdata_hive]# ll
总用量 32
-rw-------. 1 hive hadoop 32768 9月  18 16:53 8764
[root@node03 hsperfdata_hive]# rm -rf 8764 
[root@node03 hsperfdata_hive]# ll
总用量 0
[root@node03 hsperfdata_hive]# jps
9414 Jps

2. 参考

https://www.cnblogs.com/freeweb/p/5748424.html
https://www.cnblogs.com/yjmyzz/p/6372334.html

顺利完成

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jps查看进程出现「xxxx -- process information unavailable」 的相关文章

  • 获取后台进程的退出代码

    我有一个从我的主 bourne shell 脚本中调用的命令 CMD 该命令需要很长时间 我想修改脚本如下 作为后台进程并行运行命令 CMD CMD 在主脚本中 有一个循环每隔几秒监视生成的命令 该循环还向标准输出回显一些消息 指示脚本的进
  • 如何触发并忘记子进程?

    我有一个长时间运行的进程 我需要它来启动另一个进程 该进程也会运行很长一段时间 我只需要开始它 然后就完全忘记它 我设法通过从 Ruby 编程 一书中获取一些代码来完成我需要的操作 但我想找到最好 正确的方法 并了解发生了什么 这是我最初得
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • 在 java 中运行外部应用程序但不要等待它完成

    我正在用java编写一个应用程序 允许我运行其他应用程序 为此 我使用了 Process 类对象 但当我这样做时 应用程序会等待进程结束 然后再退出 有没有办法在 Java 中运行外部应用程序 但不等待它完成 public static v
  • Xamarin Android:获取内存中的所有进程

    有没有办法读取所有进程 而不仅仅是正在运行的进程 如果我对 Android 的理解正确的话 一次只有一个进程在运行 其他所有进程都被冻结 后台进程被忽略 您可以使用以下代码片段获取当前正在运行的所有 Android 应用程序进程 Activ
  • 即使进程确实存在,为什么 Process.WaitForExit 也会抛出“无进程”异常?

    我有一个包含以下代码的 Windows 服务 public static void ExtractTextInner string source string destination ProcessStartInfo startInfo n
  • 如何使用 .NET 以编程方式沙箱进程

    我计划设计一个系统 本质上允许用户在我的机器上运行 PHP Ruby 等脚本代码 我想将它们放入沙箱中 以防止它们访问机器的关键方面 哪些 NET API 可用于此目的 我计划从主流程创建一个子流程 并希望以编程方式从主流程中沙箱该子流程
  • 如何启动低优先级进程? C#

    我想执行命令行工具来处理数据 它不需要阻塞 我希望它的优先级较低 所以我写了下面的内容 Process app new Process app StartInfo FileName bin convert exe app StartInfo
  • 如果外部程序挂起,如何退出进程 (.exec())

    让我解释一下我的软件 我的软件所做的只是创建 10 个线程 并为每个线程分配许多任务 然后 每个线程创建一个运行时进程 该进程将启动一个 cmd 批处理文件 该文件又将启动一个程序 该程序将远程登录到设备 我有大约 200 个设备 以轮询其
  • 获取进程的所有 DLL

    我想获取为给定进程加载的所有 dll 的列表 我目前正在使用 NET框架4 0 我知道有一个bug https connect microsoft com VisualStudio feedback details 546430 syste
  • 使用 ProcessBuilder 运行 shell 脚本

    我正在尝试使用 Java 和 ProcessBuilder 运行脚本 当我尝试运行时 我收到以下消息 error 2 没有这样的文件或目录 我不知道我做错了什么 但这是我的代码 ps 我尝试只执行不带参数的脚本 错误是相同的 String
  • 从 Java 启动外部进程:stdout 和 stderr

    我正在使用标准从 java 启动一个外部进程java lang Process 我试图弄清楚该过程的输出是什么 但是采用结合了两者的格式stdout and stderr 目前 我有Process getInputStream它提供了访问s
  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • 向父进程发出信号,表明子进程已完全初始化

    我正在启动一个公开 WCF 端点的子进程 如何从子进程向父进程发出信号 表明子进程已完全初始化并且现在可以访问端点 我曾考虑过使用信号量来实现此目的 但不太清楚如何实现所需的信号 string pipeUri net pipe localh
  • 如何获取过滤器驱动程序中当前进程映像文件的全名?

    在过滤器驱动程序中我可以调用IoGetCurrentProcess得到一个PEPROCESS结构 然后调用PsGetProcessImageFileName获取文件名 我的问题是我怎样才能得到full过程映像文件的名称 您可以使用ZwQue
  • Nodejs 进程挂起,我该如何调试它或收集转储?

    我的nodejs进程在Linux上运行 现在挂起并且CPU为100 无论如何我可以调试它并找到原因吗 我需要收集转储吗 如何收集 谢谢 有一个 npm 模块叫做节点为何运行 https www npmjs com package why i
  • cron 任务是否会阻塞主进程或者nodejs 会创建一个worker 来执行cron 任务

    我在用节点 cron https github com ncb000gt node cron每分钟执行一些繁重的任务 更新数据库 这个任务是使用主进程来工作还是nodejs会创建一些工作人员来完成这些任务 var CronJob requi
  • 如何从 Ruby 检查具有特定 pid 的进程是否正在运行?

    如果有多种方法 请列出 我只知道一个 但我想知道是否有一种更干净的 Ruby 方式 之间的区别Process getpgid and Process kill方法似乎是当 pid 存在但由另一个用户拥有时发生的情况 Process getp
  • 向后台进程发送命令

    我有一个先前运行的进程 process1 sh 它正在后台运行 PID 为 1111 或其他任意数字 我怎样才能发送类似的东西command option1 option2PID 为 1111 的进程 I don t想要启动一个新的proc
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r

随机推荐