有没有办法禁止访问与NUMA机器上的给定 NUMA 节点/套接字关联的内存?
我们与数据库供应商就我们的 HP DL560 机器存在一些争议。DB 销售类型的技术支持人员很高兴我们不能使用我们的 DL560,但不得不购买新的 DL360,因为它们的插槽较少。我相信他们关心的是访问套接字间内存的速度。他们建议,如果我坚持保留 DL560,我应该将两个插座留空。我认为他们错了(又名疯狂)但我需要测试来证明我的立场是稳固的。
我的配置:
机器有四个插槽,每个插槽有 22 个超线程物理内核,总共 176 个表观内核,总共 1.5 T 内存。操作系统为 Red Hat Enterprise Linux Server 7.4 版。
lscpu 显示内容(部分):
$ lscpu | egrep 'NUMA|ore'
Thread(s) per core: 2
Core(s) per socket: 22
NUMA node(s): 4
NUMA node0 CPU(s): 0-21,88-109
NUMA node1 CPU(s): 22-43,110-131
NUMA node2 CPU(s): 44-65,132-153
NUMA node3 CPU(s): 66-87,154-175
Run Code Online (Sandbox Code Playgroud)
如果我可以访问物理硬件,我会考虑从两个插槽中拉出处理器来证明我的观点,但我没有访问权限,无论如何我也无权在硬件上胡闹。
下一个最好的方法是使用操作系统虚拟禁用套接字。我在这个链接上读到我可以让处理器停止服务
echo 0 > /sys/devices/system/cpu/cpu3/online
Run Code Online (Sandbox Code Playgroud)
并且,确实,处理器已停止使用,但这与内存无关。
我刚刚关闭了套接字 #3 的所有处理器(使用 lscpu 查找哪些是用于套接字#3):
for num in …
Run Code Online (Sandbox Code Playgroud) 我通过 SCP 从另一个组拥有的机器上获取文件。我唯一的访问权限是 SCP,我无法通过 SSH 连接到他们的机器。有时,他们的系统会重新启动,如果我不知道,这会导致我出现问题。我希望从他们的系统中提取一些文件,以找出它上次启动的时间,但我似乎找不到任何合适的东西。
我尝试通过 scp 复制:
scp -p remoteSys:/proc .
Run Code Online (Sandbox Code Playgroud)
(-p 表示保留时间戳)并被告知 /proc 不是常规文件,无法复制。当我尝试:
scp -p remoteSys:/proc/uptime .
Run Code Online (Sandbox Code Playgroud)
我得到了一个带有当前时间戳的零字节文件。我复制了:
scp -p remoteSys:/var/log/boot.log .
Run Code Online (Sandbox Code Playgroud)
我得到了一个零大小的文件,其日期可能是也可能不是启动日期。
有人有什么好的建议吗?
先感谢您。
我在“Ubuntu 16.04.3 LTS”上使用 gnome-terminal(来自启动器的终端)。通常,我一边打字一边考虑我正在输入的内容,而不是环境,我不小心按了 F1 键,然后出现一个窗口,上面写着“终端帮助”。拜托,我不需要帮助(至少在终端方面)。
有没有办法禁用 gnome 终端帮助屏幕?
如果我不小心撞到 F1,我更愿意,它只是忽略了我。我似乎记得不久前用某种 X 设置关闭了闪烁的光标,但此时,我不记得我做了什么或在哪里。是否有类似禁用 F1 或帮助屏幕的功能?如果在 gnome 术语中没有禁用 F1 的方法,有没有办法一起禁用 F1(除了拔掉键帽)?它可能在我不使用的某些应用程序中使用,所以如果它消失我会很高兴。