Linux:如何检查进程可用的最大连续地址范围

2023-12-30

我想在命令行输入pid,取回未被保留的最大连续地址空间。有任何想法吗?

我们的 32 位应用程序在 64 位 RHEL 5.4 上运行,运行一段时间后(比如 24 小时)就会崩溃。当时仅使用了 2.5 GB 的内存,但我们遇到了内存不足的错误。我们认为它无法映射大文件,因为应用程序的内存空间是碎片化的。我想进入生产服务器并测试该理论。


我上面的评论的稍微好一点的版本:

#!perl -T

use warnings;
use strict;

scalar(@ARGV) > 0 or die "Use: $0 <pid>";

my $pid = $ARGV[0];
$pid = oct($pid) if $pid=~/^0/;         # support hex and octal PIDs
$pid += 0; $pid = abs(int($pid));       # make sure we have a number

open(my $maps, "<", "/proc/".$pid."/maps") or
        die "can't open maps file for pid ".$pid;

my $max = 0;
my $end = 0;
while (<$maps>) {
        /([0-9a-f]+)-([0-9a-f]+)/;
        $max = hex ($1) - $end if $max < hex ($1) - $end;
        $end = hex ($2);
}

close ($maps);

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

Linux:如何检查进程可用的最大连续地址范围 的相关文章

  • 如何使用AWK脚本检查表的所有列数据类型? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在这里 我正在检查表中第一列的数据类型 但我想知道AWK中表的所有列数据类型 我尝试过 但只能获得一列数据类型 例如 Column 1
  • gentoo crontab:为什么这个简单的 crontab 不起作用?

    我使用 GENTOO 发行版 crontab e 35 12 root php5 home www cron php 当我手动运行时 php5 php5 home www cron php 这有效 它向我发送了一封电子邮件 然后我检查日期
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 为什么大多数平台上没有“aligned_realloc”?

    MSVC有自己的非标准函数 aligned malloc aligned realloc and aligned free C 17和C11引入了 std aligned alloc 其结果可以是de分配有free or realloc B
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 如何在特定 systemd 服务重新启动时触发自定义脚本运行

    我想知道如何安排自定义脚本在重新启动服务时运行 我的用例是 每当重新启动 Tomcat 服务时 我都必须运行多个命令 我想知道是否有一种方法可以编写脚本并安排它在重新启动 Tomcat 服务时运行 我已将 tomcat 脚本设置为 syst
  • 弱变量中间为零

    弱变量什么时候变为零 weak var backgroundNode SKSpriteNode texture SKTexture image initialBackgroundImage backgroundNode position C
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • Linux 桌面快捷方式和安装图标

    我需要添加什么到我的 spec文件来创建桌面快捷方式并在安装过程中为快捷方式分配一个图标 rpm 如果需要脚本 一个示例将非常有帮助 您在 Linux 下使用 desktop 文件作为图标 图标放置的位置取决于您使用的发行版和桌面环境 由于
  • C++中const对象位于哪个内存区域? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在主目录中安装库

    在 Linux Ubuntu 中 我尝试运行一个工具 但它显示错误 库丢失 我无权在系统中安装任何内容 或者根本无法从我的用户帐户执行 sudo 是否可以在我的主目录 没有 sudo 中安装缺少的库 在我的例子中为 libstdc so 6
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • 强制卸载 NFS 安装目录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案

随机推荐

  • 正则表达式 - 排除名称的单词列表

    我正在尝试制作一个接受此内容的正则表达式 仅限 a z 0 9 字符 最小长度为 3 admin static my 和 www 被拒绝 对于第一部分 我已经设法做到了 a zA Z0 9 3 但我不知道如何排除前面列出的单词 例如 这意味
  • Java 日历/日期 2010 年 10 月 2 日有错误吗?

    我不确定我做错了什么 但我有一段代码可以计算两个日期之间的天数 如下所示 final Calendar first new GregorianCalendar 2010 Calendar OCTOBER 1 final Calendar l
  • 如何使用 nanosleep 随机睡眠时间?

    我正在尝试使用 nanosleep 函数让我的进程休眠 1 10 秒之间的随机时间 我使用 srand 为我的随机数生成器提供种子 并带有进程 ID 即我调用 srand getpid 然后使用 struct timespec delay
  • Kubernetes Pod 内存与 cgroup

    我在 Kubernetes pod 中运行 apache 并且对 apache 进程的随机 OOM 终止感到困扰 并且我不确定原因 Pod 有 600M 内存限制 即使 PHP 每次运行有 128 MB 限制 它似乎也可以很容易地消耗它 观
  • 如何在 Windows 中使用 H264 视频编码器 MFT 编码位图

    我的应用程序对从 GDI 或 DXGI 方法捕获的帧进行编码 目前我正在使用帮助 x264 库进行编码 AFAIK x264 是基于软件的库 我想在 GPU 的帮助下进行编码 这样它可以节省 CPU 周期 并且希望速度也会更快 经过搜索 我
  • 如何在 Google 中搜索代码和其他与编程相关的关键字?它似乎剥离了特殊字符

    我在使用 Google 时遇到的问题之一是 它似乎删除了特殊字符 例如点 逗号和其他一些特殊字符 而这些字符通常是我在尝试查找与编程相关的内容时要查找的内容 ex django sign返回不相关的数据 也许您知道一种方法 或替代方案 技术
  • 将值存储在 MIPS 的 HI 和 LO 寄存器中

    我正在 MIPS 中编写某些代码 并且要求将结果暂时存储在HI and LO特殊寄存器 均为 4 字节宽 这些说明可供我使用 divu s t lo lt s div t hi lt s mod t multu s t hi lo lt s
  • 朱莉娅似乎很慢

    我正在运行此中所示的代码question https stackoverflow com questions 73599180 plot not showing in julia 73599239 我预计它第二次和第三次运行得更快 第一次运
  • 如何将列表列转换为 R 中 tibble 中的向量

    我试图折叠下面的小标题 称为数据 中的 周 列 以便结果是具有两列的小标题 1 表示周 另一列表示相关值 由于周列是一个列表 我不知道该怎么做 能否请你帮忙 gt head data A tibble 6 x 1 Weeks Value
  • Oracle SQL Developer 和 PostgreSQL

    我正在尝试使用 Oracle SQL Developer 3 0 04 连接到 PostgreSQL 9 1 数据库 但到目前为止我还没有取得任何成功 首先 如果我在首选项中添加第三方驱动程序 则在添加新连接时 没有 PostgreSQL
  • 测量要在 Canvas 上绘制的文本宽度(Android)

    是否有一种方法可以根据用于绘制文本的 Paint 使用 drawText 方法返回要在 Android 画布上绘制的文本的宽度 以像素为单位 你看过吗android graphics Paint measureText String txt
  • 如何在 Greasemonkey 脚本中播放声音?

    如何在 Greasemonkey 脚本中播放声音 我目前想做的是在达到条件时播放声音 例如 UserScript name Sound Alert namespace example com include example com requ
  • 检查 Postgresql 是否正在监听

    给定 IP 地址和端口号 是否可以检查具有该 IP 地址的计算机是否在指定端口上侦听 Postgresql 如果是这样 怎么办 我只想获取Postgresql是否正在监听指定机器的指定端口的布尔值 例如 您可以使用nmap http nma
  • 这个八位字节流如何被解释为希伯来语 UTF-8 编码?

    下面的字节流被标识为UTF 8 它包含希伯来语句子 我正在尝试理解编码 ubuntu ip 10 126 21 104 od t x1 homeless title fromwireshark followed by hexdump txt
  • 如何正确制作阴影贴图的深度立方体贴图?

    我已经编写了代码将场景对象渲染为以下格式的立方体贴图纹理GL DEPTH COMPONENT然后在着色器中使用此纹理来确定片段是否被直接照亮 以用于阴影目的 然而 我的立方体贴图看起来是黑色的 我想我没有充分设置我的 FBO 或渲染上下文
  • CSRF 保护:我们是否必须为每个表单生成一个令牌?

    我们是否必须为网站中的每个表单生成一个令牌 我的意思是 每次为每个请求的表单生成不同的令牌 如果没有 为什么 一般来说 只要有每个会话一个令牌 https www owasp org index php Cross Site Request
  • 将“默认”数组与“输入”数组合并? PHP 哪个函数?

    假设您让用户提供信息 Array 1 但并非全部都是必需的 所以你有默认值 Array 2 PHP 是否有一个函数可以覆盖所有数组值Array 2基于它们是否提供Array 1 而不是空的 我想你正在寻找的是array replace re
  • WinRm - 由于 SSL 证书不正确,无法在 HTTPS 上创建 WinRM 侦听器

    我想将 WinRM 与 https 传输结合使用 我购买了 Comodo 证书 错误表明我无法使用自签名证书 其主题与我的 Windows 10 计算机 未加入域 的 FQDN 系统中的完整计算机名称 相匹配 CN my domain ne
  • 我们可以在不更改APP版本的情况下更新Google Play商店上的APK吗

    谁能告诉我 我可以替换上传到 Google Play 商店的 APK 而不更改应用程序版本吗 基本上我昨天已经上传了 1 0 版本的应用程序 今天我想重新上传 APK 并进行一些重要的修复 并且不想更改版本 You cannot更新现有应用
  • Linux:如何检查进程可用的最大连续地址范围

    我想在命令行输入pid 取回未被保留的最大连续地址空间 有任何想法吗 我们的 32 位应用程序在 64 位 RHEL 5 4 上运行 运行一段时间后 比如 24 小时 就会崩溃 当时仅使用了 2 5 GB 的内存 但我们遇到了内存不足的错误