标签: hardware

两个相同的虚拟地址怎么会指向不同的物理地址呢?

在 Linux 中调用 fork() 之后,两个进程(一个是另一个的子进程)将共享分配的堆内存。这些分配的页面被标记为 COW(写时复制),并且将保持共享状态,直到任一进程修改它们。此时,它们被复制,但引用它们的虚拟地址指针保持不变。MMU(内存管理单元)如何区分两者呢?考虑以下:

  1. 进程A启动
  2. 进程A分配了一个内存页,由虚拟地址0x1234指向
  3. 进程A fork()s,生成进程B
  4. 进程A和B现在共享虚拟地址0x1234,指向相同的物理内存位置
  5. 进程B修改其0x1234内存页
  6. 该内存页被复制然后修改
  7. 进程A和B都有虚拟地址0x1234,但这指向不同的物理内存地址

这如何区分呢?

linux memory hardware fork

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

了解机器检查异常 (MCE)

在尝试调试运行 Ubuntu 16.04 的新笔记本电脑(KabyLake 架构)的频繁死机时,我偶然发现了以下条目kern.log

kernel: [    0.041634] mce: [Hardware Error]: Machine check events logged
Run Code Online (Sandbox Code Playgroud)

从那时起我已经安装了mcelog但不知道如何处理日志。内容为/var/log/mcelog

mcelog: Family 6 Model 8e CPU: only decoding architectural errors
Hardware event. This is not a software error.
MCE 0
CPU 0 BANK 6 
MISC 3880018086 ADDR fef1cf00 
TIME 1479298799 Wed Nov 16 13:19:59 2016
MCG status:
MCi status:
Error overflow
Uncorrected error
MCi_MISC register valid
MCi_ADDR register valid
Processor context corrupt
MCA: corrected filtering (some unreported …
Run Code Online (Sandbox Code Playgroud)

hardware intel mcelog

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

单击注册为双击 - CentOS 7 中软件单击反跳

我需要一个适用于 RHEL/CentOS 的软件点击消除抖动解决方案。我在单击鼠标时出现间歇性但频繁的双击。这个问题在 Windows 10 上不会发生,因为罗技(或微软)似乎在软件层面进行了补偿。

在 Windows 中,可以通过使用AutoHotKey 的简单脚本来解决类似的问题,例如:

LButton::   
    If (A_TimeSincePriorHotkey < 150) ;hyperclick
        Return
    Click Down
    KeyWait, LButton
    Click Up
Return
Run Code Online (Sandbox Code Playgroud)

或者使用Buggy-Mouse.ahk,但我一直无法找到适用于 RHEL/CentOS 的维护解决方案。AutoHotKey 有一个名为IronAHK的 Linux 端口,但它在 github 上的最后一次更新是六年前。

在避免非常快速的双击上有一个类似问题的答案,但提供的解决方案适用于 Arch Linux。

scripting hardware centos mouse hid

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

键盘在 XFCE 上无法使用(但可以使用!)?

在我格式化笔记本之前,板载键盘在带有 Gnome 3 的 Debian 8 上工作得很好。现在,在使用最小的 XFCE 安装 Debian 9 后,它不再工作了,除了在 CLI 上。

我什至无法更改为 TTY,因为除恢复模式外,所有按键都不起作用。

以下是我收集的一些有关键盘设置的文件:

/etc/default/keyboard:

XKBMODEL="pc105"  
XKBLAYOUT="br"  
XKBVARIANT=""  
XKBOPTIONS=""  

BACKSPACE="guess"
Run Code Online (Sandbox Code Playgroud)

/usr/lib/xorg/modules/input:

mouse_drv.so synaptics_drv.so void_drv.so
Run Code Online (Sandbox Code Playgroud)

我在安装过程中安装了该软件包xserver-xorg-input-kbd,但认为这是问题所在,决定将其删除。在这两种情况下,键盘都无法在 XFCE 上使用。

不,我不使用任何会话管理器。我只是通过 systemd 和 .profile自动化了登录过程。

编辑:我安装了包 xserver-xorg-input-libinput 并且键盘开始在 XFCE 上工作。案件结案。=)

hardware debian keyboard xfce

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

如何将 PCIe 设备置于 D3cold 电源状态?

如何使用 Linux 系统上的常用实用程序将任意 PCIe 设备从 D0 状态(已通电)转换到 D3状态(设备无电流)?据推测,这涉及写入 sysfs 文件,但也欢迎其他可能涉及更多的方法,只要它们可以在用户空间中完成即可。这个问题基于另一个有关电源循环的问题。

我专门寻找一种与硬件无关(至少是 x86)的方法来将设备放入 D3 Cold中。

假设/sys/bus/pci/devices/*/d3cold_allowed1.

注意:我知道 PCI 功能不能单独进入 D3状态,因此我认为更好的表述方法是“如何将特定 PCIe 设备的总线置于 L3 状态?”。

linux pci hardware power-management acpi

5
推荐指数
0
解决办法
3725
查看次数

PulseAudio:如何确定硬件支持的本机采样率和位深度?

我想设置我的硬件(英特尔 HDA)支持的最大采样率和位深度。

如何知道值?

我需要这些信息,因为我想避免不必要的重采样。

hardware audio pulseaudio

5
推荐指数
0
解决办法
3255
查看次数

为什么usbutils的硬件数据库没有更新?

我想知道为什么有些地方不认可我的USB设备的lsusb和偶然/usr/share/hwdata/usb.ids

当我阅读文件的内容时,我可以看到硬件数据库的日期是 2015 年年中(大约比 Debian 9 “Stretch”于 2017 年 6 月发布发行版早两年)。

我运行以下命令来更新数据库:

update-usbids
Run Code Online (Sandbox Code Playgroud)

并惊讶地发现它的日期是去年三月。

怎么不自动更新?

linux usb hardware debian lsusb

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

Debian 内核支持 hwe 吗?

最近遇到了一些问题,硬件转码在 Debian 9.11 上不起作用。有 E3-1275v6,有 iGPU。

我知道,对于 Ubuntu,需要安装一个“特殊”内核(linux-generic-hwe),但是 Debian 呢?目前,我使用自定义内核(xanmod)。

干杯!

linux hardware debian

5
推荐指数
0
解决办法
1905
查看次数

如何在 Linux 中使用终端查找硬件/芯片组名称

如何可靠地检查机器的芯片组?我尝试在带有 linux mint 的旧华硕 K50ij 上使用“lspci”“hwinfo”“lshw”“dmidecode”命令,但输出没有提供足够精确的北桥信息。我在华硕的网站上发现它的芯片组是 Intel® Mobilny GL40 Express +ICH9M,但如果可能的话,我希望能够仅使用终端找到它。上面的命令返回了很多信息,但不是我正在寻找的信息。例如,来自 lspci 的一行输出:

Host bridge: Intel corporation Mobile 4 Series Chipset Memory Controller Hub (rev09)
Run Code Online (Sandbox Code Playgroud)

但我的输出期望是:

Intel® Mobilny GL40 Express Chipset +ICH9M
Run Code Online (Sandbox Code Playgroud)

lspci 的输出将芯片组缩小到此列表,但仍有很多可供选择:https : //ark.intel.com/content/www/us/en/ark/products/series/34468/intel-4-系列-chipsets.html

由于有关 sata 控制器的输出,我可以识别南桥:

  PCI 1f.2: 0106 SATA controller (AHCI 1.0)
  [Created at pci.378]
  Unique ID: w7Y8.1UWGXuPHmx0
  SysFS ID: /devices/pci0000:00/0000:00:1f.2
  SysFS BusID: 0000:00:1f.2
  Hardware Class: storage
  Model: "Intel 82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode]
  Vendor: pci 0x8086 "Intel Corporation"
Run Code Online (Sandbox Code Playgroud)

有了这个,我可以检查它与 GL40 北桥配对的英特尔芯片组列表。但是对于一条简单的信息来说,感觉需要做很多工作,尤其是在我的其他机器上 …

linux hardware info

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

hdparm 是否有测试写入速度的选项?

hdparm -t [device] 
Run Code Online (Sandbox Code Playgroud)

告诉我阅读速度。有没有办法显示写入速度?当我man hdarm | grep write得到 flag -F-n-r-W,所有这些都没有提供我正在寻找的所需结果。

那么有没有一种方法可以通过一个命令来显示读写速度呢?

filesystems hardware centos hard-disk hdparm

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