标签: proc

/proc/* 如何工作?

有许多文件/proc,如/proc/cpuinfo/proc/meminfo/proc/devices等等,其中,打开时,返回系统信息。

这些文件在现实中似乎不存在,因为file在它们上运行只会表明它们是空的。

$ file /proc/cpuinfo
/proc/cpuinfo: empty
Run Code Online (Sandbox Code Playgroud)

这些文件究竟是如何工作的?

linux proc

69
推荐指数
4
解决办法
1万
查看次数

cat /proc/meminfo 所有这些数字是什么意思

在阅读Linux 中free命令的手册页时。我发现这是从/proc/meminfo.

我了解一些条目,例如MemTotalMemFree。其余是什么意思。

猫 /proc/meminfo 
内存总量:3973736 kB
MemFree:431064 KB
缓冲区:46604 kB
缓存:494648 kB
交换缓存:11360 KB
活跃:2322760 KB
非活动:933028 KB
活跃(匿名):2057952 kB
非活动(匿名):679956 kB
活动(文件):264808 kB
非活动(文件):253072 kB
不可避免:16 kB
锁定:16 kB
交换总计:4096568 kB
SwapFree:3961748 kB
脏:236 KB
写回:0 kB
AnonPages:2704520 kB
映射:182240 kB
Shmem:23372 KB
平板:93848 KB
SReclaimable:52044 kB
太阳回收:41804 kB
内核堆栈:5064 kB
页表:64928 kB
NFS_不稳定:0 kB
弹跳:0 kB
写回时间:0 kB
提交限制:6083436 KB
Committed_AS:7327800 KB
Vmalloc 总计:34359738367 kB
Vmalloc 使用:321156 KB
VmallocChunk:34359411708 kB …

linux operating-systems filesystems proc

47
推荐指数
1
解决办法
9万
查看次数

“/proc/meminfo”中单位“kB”的真正含义是什么?

我正在新安装一个发行版,并希望设置一个交换分区,以便它与休眠兼容。

首先,我必须确定系统拥有的物理内存量。

$ grep MemTotal /proc/meminfo
MemTotal:    38740876 kB
Run Code Online (Sandbox Code Playgroud)

现在据我所知:

  • 1 KiB = 1 KB = 1024 字节
  • 1 kB = 1 KB = 1000 字节

然而,RHEL 文档在这里说单位/proc/meminfo是千字节。

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s2-proc-meminfo

谁错了?该单元硬编码在 Linux 中,还是 RHEL 文档中?

memory linux proc allocation-unit

18
推荐指数
2
解决办法
3999
查看次数

Bash:文件写入权限被拒绝

我遵循了有关“如何使用 LKM 在 C 程序中创建 Linux Proc 文件”的教程指南

我已经成功地制作了我的模块并加载了它。现在我想回显到我的 proc 文件以确保调用应该调用的方法。

我试过了:

$ echo "hello" > /proc/procEntry123       # But it says permission is denied!
$ sudo echo "hello" > /proc/procEntry123  # Same error message.
Run Code Online (Sandbox Code Playgroud)

如何提升权限以回显到此文件?我是该系统的唯一用户和管理员。

linux sudo file-permissions proc

8
推荐指数
1
解决办法
2万
查看次数

如何从 Linux 中的 /proc/[pid]/stat 获取进程中运行的线程数?

我有进程的pid。我想知道当前进程中运行的线程数。我知道我可以阅读 /proc/pid/stat 以获取此信息,但我不确定如何从 stat 中具体获取线程数。任何人都可以帮忙吗?

谢谢!

kernel c linux-kernel proc

8
推荐指数
1
解决办法
1万
查看次数

为什么 /proc/$PID/fd/ 中的符号链接充当硬链接?

当符号链接的目标被删除时,它指向空,并且无法获得被删除目标的内容。

中的文件/proc/$PID/fd/显示为符号链接,但它们允许您访问已删除目标的内容,如下所述:Recover Deleted Linux Files Withlsof .

这是如何运作的?如果它不作为一个链接,为什么它显示为一个符号链接?proc 文件系统的符号链接实现是否保留了对文件 inode 的引用?

linux symbolic-link proc

7
推荐指数
1
解决办法
2073
查看次数

在 Ubuntu 12.04 上的 sysctl 中设置值时权限被拒绝

我正在尝试将我的 Ubuntu 12.04 VPS (OpenVZ) 配置为在内存不足时重新启动。为此,我在“/etc/sysctl.conf”文件中添加了以下几行。

vm.panic_on_oom = 1
kernel.panic = 14
Run Code Online (Sandbox Code Playgroud)

但是,当我使用命令“sudo sysctl -p”运行配置时,出现以下错误。

error: permission denied on key 'vm.panic_on_oom'
error: permission denied on key 'kernel.panic'
Run Code Online (Sandbox Code Playgroud)

我尝试以 root 身份运行相同的命令并发现相同的错误。

谁能指出我做错了什么?或者我该如何解决这个问题?

提前致谢。

vps openvz proc

5
推荐指数
1
解决办法
8742
查看次数

什么是“ln -L”(--逻辑)?

我可以在 ln 手册页中阅读:

   -L, --logical
          make hard links to symbolic link references
Run Code Online (Sandbox Code Playgroud)

我在某处阅读了ln -L可以使用文件系统重新链接已删除但仍处于打开状态的/proc文件的地方。例如:

ln -L /proc/1234/fd/12 /tmp/my-file
Run Code Online (Sandbox Code Playgroud)

但我得到ENOENT:没有这样的文件或目录。如果我尝试使用不同的文件系统,则会得到无效的跨设备链接。

如果我不能ln -L用来恢复已删除的文件,那么它可以用来做什么?

linux hardlink ln proc

4
推荐指数
1
解决办法
3975
查看次数

AIX 中的 /proc 文件系统

这个问题是在 AIX (5.3) 的上下文中为需要存储在虚拟文件系统下的任何东西分配空间的基础 /proc

操作系统是否从 中获取空间/?例如我有:

Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4           0.25      0.08   70%    10983    38% /
/proc                 -         -    -         -     -  /proc
Run Code Online (Sandbox Code Playgroud)

那么如果我/的使用率高达 99%会发生什么?proc 从哪里获得它的空间?

还是我都错了?是/proc服务器内存的只是一种表象?

filesystems aix proc

2
推荐指数
1
解决办法
6563
查看次数