AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 762817
Accepted
KJ7LNW
KJ7LNW
Asked: 2023-12-01 08:55:09 +0800 CST2023-12-01 08:55:09 +0800 CST 2023-12-01 08:55:09 +0800 CST

为什么 /dev/ramX 设备在 /proc/diskstats 中全为 0?

  • 772

有没有办法/dev/ramX在 Linux 中打开块设备的 IO 统计?我已经尝试过了echo 1 > /sys/block/ram1/queue/iostat,但没有成功。

请注意,除了底部的 ram 设备之外,所有设备都有统计信息,因此像这样的性能测量工具dool无法测量 IO 速度:

# cat /proc/diskstats 
  11       0 sr0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  11       1 sr1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   8       0 sda 723676 35000 88332842 15213728 1023996 4665548 516093800 245971648 0 17497453 262613130 0 0 0 0 45125 1427753
   8      16 sdb 160138 25031 9086236 1901857 5894107 1629435 99783746 263249749 0 34043114 273161200 0 0 0 0 319611 8009594
   8      17 sdb1 126 30 8994 751 9 0 24 117 0 862 869 0 0 0 0 0 0
   8      18 sdb2 159872 25001 9072882 1900962 5894094 1629435 99783722 263249569 0 34042604 265150532 0 0 0 0 0 0
 253       0 dm-0 2910 0 55490 64862 6575840 0 52901448 295198662 0 20973198 295263524 0 0 0 0 0 0
 253       1 dm-1 112625 0 3832882 2024582 103580 0 1755640 12405574 0 1639466 14430156 0 0 0 0 0 0
 253       2 dm-2 757922 0 88327794 16122171 5450438 0 516093800 1273579273 0 16577985 1289701444 0 0 0 0 0 0
 253       3 dm-3 729 0 805332 9620 58317 0 13217898 6701775 0 868402 6711395 0 0 0 0 0 0
 253       4 dm-4 68487 0 4373706 650891 766343 0 31908736 44931626 0 13503972 45582517 0 0 0 0 0 0
   7       0 loop0 741 0 32160 69 159 0 912 4296 0 4336 8536 6 0 6 10 45 4160
   1       0 ram0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1       1 ram1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1       2 ram2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1       3 ram3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1       4 ram4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1       5 ram5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1       6 ram6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1       7 ram7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1       8 ram8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1       9 ram9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1      10 ram10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1      11 ram11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1      12 ram12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1      13 ram13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1      14 ram14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   1      15 ram15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
linux
  • 1 1 个回答
  • 24 Views

1 个回答

  • Voted
  1. Best Answer
    xhienne
    2023-12-02T09:03:53+08:002023-12-02T09:03:53+08:00

    Ramdisk /dev/ram*(或者更确切地说是brd模块)不会更新统计数据(*),我猜是出于效率原因。

    如果您不介意小的开销,这里有一个解决方法:使用设备映射器在您的 ramdisk 上创建一个透明(1 对 1)层。然后,您将可以通过 dm 设备访问统计数据。

    # ramsize=$(< /sys/block/ram0/size)
    # dmsetup create ram0 --table "0 $ramsize linear /dev/ram0 0"
    # dmsetup info ram0
    (...)
    Major, minor:      253, 6
    (...)
    # grep -Fw dm-6 /proc/diskstats
    

    (*) 2012 年提出了一个补丁,但显然被忽略了

    • 1

相关问题

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • 使用键盘快捷键启动/停止 systemd 服务 [关闭]

  • 需要一些系统调用

  • astyle 不会更改源文件格式

  • 通过标签将根文件系统传递给linux内核

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve