到目前为止我所理解的是,当一个程序打开并读取 下的任何文件时/proc/,内核将即时生成信息。在特定情况下,cpuinfo大多数数据是由硬件决定的,显然不会在系统运行时发生变化。我不确定的是,在系统运行时是否所有这些数据都不能更改。
是否有可能在/proc/cpuinfo无需重新启动系统的情况下更改返回的任何值?
CPU是i7-3770@3.40GHz。它有 4 个内核,每个内核有 2 个线程。这是dmidecode输出:
# dmidecode -t 4
# dmidecode 2.9
SMBIOS 2.7 present.
Handle 0x0042, DMI type 4, 42 bytes
Processor Information
Socket Designation: SOCKET 0
Type: Central Processor
Family: <OUT OF SPEC>
Manufacturer: Intel(R) Corporation
ID: A9 06 03 00 FF FB EB BF
Version: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
Voltage: 1.1 V
External Clock: 100 MHz
Max Speed: 3800 MHz
Current Speed: 3400 MHz
Status: Populated, Enabled
Upgrade: <OUT OF SPEC>
L1 Cache …Run Code Online (Sandbox Code Playgroud) 我已经安装Linux Mint 18.2 Cinnamon (kernel: 4.10.0-32-generic)在我的新ASUS UX430UA notebook. 它Intel Core i5-7200U只有集成显卡Intel HD Graphics 620和 8 GB 的操作内存。
我注意到,当我在播放 YouTube 视频时,即使它被最小化,它的 CPU 使用率也很高——每个 CPU 内核大约有 40% 的 720p@25 视频。与我之前的笔记本电脑 - 带有英特尔酷睿 i5-4200M 的 MSI GE60 2OC 相比,它增加了四倍。英特尔酷睿 i5-7200U 应该更快一点(尝试过的基准测试向我证明了这一点)。
我试过的:
这种配置是否正常(我不认为)或者你能告诉我我缺少什么吗?
编辑:
所有经过测试的网络浏览器在这个问题上都运行得很奇怪。当我在启动后第一次启动它们并加载带有来自 YouTube 的视频的页面时,CPU 使用率保持在大约 40 秒的视频播放中,每个内核为 5%。之后,它增加到每个核心的 40%。然后,即使我启动任何其他 Web 浏览器或再次启动相同的 Web 浏览器,播放视频也会消耗每个核心使用量的 40%。我的研究没有运行网络浏览器后台进程。 …
有什么方法可以从 BIOS 或 CPU 读取 linux 系统的总运行时间?
我已经通过 dmidecode 搜索了 BIOS 信息。但它给出的发布日期不适合我的问题。
然后我检查了/proc。但它只保存上次重启后的正常运行时间值。也许,为每次启动编写这些正常运行时间值可能是一种选择。
然后我检查了dumpe2fs。它给出了特定硬盘驱动器的总运行时间。这对我来说没用,因为在我的应用程序运行时可以更改硬盘。
除了以上这些,我如何读取或计算系统的总运行时间?我可以从哪里阅读?
我最近购买了i5-9600K。这是应该运行6芯和6个线程(超线程),当我看看到/proc/cpuinfo的ht标志,并检查工具,如htop只显示6个核心,因为你可以在下面的图片中看到。
我使用过其他 Intel 和 AMD 处理器,通常当产品6 cores/6 threads显示总量为 时12,但在这种情况下,我只看到6.
我错了还是可能是什么问题?
谢谢!
如何正确识别当前占用CPU队列的实时进程并使用ps统计它们?我知道有一堆像 prio、rtprio、pri、nice 这样的文件,但不知道正确使用。似乎我需要使用类似的东西ps -eo rtprio,prio,cpu,cmd --sort=+rtprio来获取完整列表,但对我来说似乎不正确,因为很多进程-在 RTPRIO 列中都带有符号。例如,我有一个运行 Oracle Linux 的 48 核系统,并尝试确定以下问题:
在我的电脑上显示
Tasks 314; 24 running
Run Code Online (Sandbox Code Playgroud)
这些数字是什么意思?
1 个任务 = 1 个进程吗?
为什么运行任务的数量不是 CPU 数量呢?(我有超过 24 个 CPU)
编辑。有时“运行”之前的数量实际上超过了我拥有的 CPU 数量!
我想知道,什么是 CPU 软锁定?和可能的原因,我只能告诉你,在基于 RedHat Linux 的服务器中出现了消息Kernel Bug。谢谢大家!
根据我的理解,每个进程通过虚拟地址而不是物理地址访问内存,通过MMU单元将这些虚拟地址转换为物理地址是CPU的职责,两个或多个进程可以有相同的虚拟地址。
因此,假设进程 A正在尝试访问虚拟地址12345,而进程 B正在尝试访问虚拟地址12345。
MMU将如何将每个进程的虚拟地址转换为物理地址,是否有每个进程的映射表将虚拟地址映射到物理地址(因为我以为CPU甚至不知道“进程”是什么,它唯一的职责是盲目执行指令而不关心哪个指令属于哪个进程,而“进程”只是一个操作系统概念)?
这是nprocvsnproc --all和互联网上其他命令的输出。我仍然不明白为什么。它是一个带有 CentOS 6.5 的 QEMU\KVM VM,在其他 CentOS 6.5 上运行。
以下是一些其他命令的输出:
[root@h1-nms ~]# nproc
1
[root@h1-nms ~]# nproc --all
3
[root@h1-nms ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 3
On-line CPU(s) list: 0-2
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 3
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 13
Stepping: 3
CPU MHz: 2194.710
BogoMIPS: 4389.42
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K …Run Code Online (Sandbox Code Playgroud)