为什么会发生这种情况?显示所有其他可打印的uname
内容。我不打算解决这个问题。甚至手册页uname
都说这是一个常见的输出。
我只是想知道为什么。
操作系统在物理内存上运行,并为每个进程提供单独的虚拟地址空间,用于存储数据。使虚拟内存和物理内存之间的传输更容易。
操作系统将内存的一部分(它本身不需要)划分为页面。因此,与进程交互的虚拟地址空间是这些页面的倍数。
为什么这不是真的?为什么实际内存消耗(如我的top
)不是倍数,
PID VIRT TIME+ COMMAND
986 212076 11:22.29 Xorg
1194 504916 1:56.15 pulseaudio
1252 445884 0:13.69 xfce4-terminal
827 4256 0:08.16 acpid
Run Code Online (Sandbox Code Playgroud)
页面大小,我的操作系统使用?
acpid
使用 4256 字节的虚拟内存。getconf PAGESIZE
显示我的系统使用了 4096 字节 (4KiB) 的页面大小
编辑:过时我并不是说不好/不必要(我同意/proc
一团糟)。模块化是一件好事,我喜欢它。我的意思是:系统的信息,保存在(在/sys
)其他地方可以找到。
我真的找不到太多关于/sys
和 的信息/proc
。除了这两个内容都不属于文件系统层次结构标准的一部分(因为它们看起来/正在构建的方式取决于内核版本)
/ SYS并不甚至有它自己的man
页面。/proc
有它自己的手册页,哦,天哪,它有很多解释,但我仍然有一些文件夹和文件(例如/acpi
and consoles
),其中没有提到。
/sys
很新吧?在它存在之前,所有提供的信息/sys
都是/proc
正确的一部分?
现在还是这样吗?是否可以在一种或另一种形式中/sys
找到所有信息/proc
表?那会使文档/sys
过时,因为它只是具有用户友好设计的扩展,对吗?或者是否有任何系统信息/sys
不以其他形式存在/proc
?
如果是这种情况,/sys
向linux业余爱好者解释的地方在哪里?
我想自定义 shell 的提示符。$PS1
和之间有什么区别$PROMPT_COMMAND
,我应该使用什么变量?很高兴知道一些历史约定(过去的 shell/posix)来找出更兼容的约定。
bash ×1
block-device ×1
coreutils ×1
devices ×1
fhs ×1
filesystems ×1
linux-kernel ×1
memory ×1
proc ×1
prompt ×1
shell ×1
utilities ×1