小编Kev*_*sko的帖子

使用 KVM PCI Passthrough 时,GTX 1080 驱动程序在来宾上不起作用

我相信我们遇到了 GTX 1080(驱动程序)和 PCI Passthrough 的可能错误。

我的主机是 Ubuntu 14.04 系统。我的来宾是 Ubuntu 14.04/16.04 系统(两者都做同样的事情)。

我可以在来宾 VM 中看到设备:

$ lspci -vnn | grep VGA
00:05.0 VGA compatible controller: NVIDIA Corporation Device 1b80 (rev a1)
Run Code Online (Sandbox Code Playgroud)

我能够成功安装驱动程序(370.2,最新驱动程序)。它安装,但不被识别nvidia-smi

$ nvidia-smi 
Unable to determine the device handle for GPU 0000:00:05.0: Unknown Error
Run Code Online (Sandbox Code Playgroud)

查看dmesg我看到以下错误消息

[29.535583] nvidia 0000:00:05.0: irq 45 for MSI/MSI-X
[29.577727] NVRM: RmInitAdapter failed! (0x23:0x56:458)
[29.577807] NVRM: rm_init_adapter failed for device bearing minor number 0
Run Code Online (Sandbox Code Playgroud)

我可以将 GTX 1080 换成不同的卡(M4000,在来宾上执行直通和安装驱动程序)并且它可以工作。明天我将尝试使用另一张 Geforce 卡。

NVidia …

linux debugging gpu pci-passthrough gpu-passthrough

6
推荐指数
1
解决办法
5290
查看次数

未显示在缓存中时跟踪 Linux 内存使用情况

在你把你的干草叉拿出来之前,我在追踪内存进入 Linux 缓存系统的位置时遇到了麻烦。我看到Linux 吃掉了我的 RAM!,以及如何通过实际内存使用情况查看顶级进程?,并正确确定 Linux 中的内存使用情况,但以这些为例,这些数字与我在系统上看到的数字并不完全相同。

对于这个系统,我知道它可能被“缓存”,或者被程序使用,但这些数字对我来说甚至还没有接近加起来。

在上面我看到了。

top - 09:04:09 up 19 days, 20:38,  2 users,  load average: 0.00, 0.10, 0.11
Tasks: 160 total,   1 running, 159 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.2%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  65974296k total, 43507804k used, 22466492k free,   305336k buffers
Swap:  7548924k total,        0k used,  7548924k free,  1480836k cached
Run Code Online (Sandbox Code Playgroud)

我明白了,“使用”的 43GB 内存并不是真的,可能大部分都被缓存了。所以深入研究我跑了:

$ free -m
             total       used       free     shared    buffers     cached
Mem: …
Run Code Online (Sandbox Code Playgroud)

linux memory-leaks memory top

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

高延迟下的 NFS 性能很差,ssh 上的 rsync 大约快 100 倍

我们使用 rsync 来同步两个 NFS 服务器的数据。一台 NFS 服务器位于东海岸,另一台位于西海岸。RTT约为110ms。

在东海岸 NFS 服务器上,我安装了西海岸 NFS 服务器安装点。

<server>:/home/backups on /mnt/backups type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=krb5,clientaddr=x.x.x.x,local_lock=none,addr=y.y.y.y)

数据已经在两台服务器上,只是为了验证数据(例如同步文件夹以及何时不需要更改)。以下是验证 7GB 文件夹的东海岸服务器与西海岸服务器相同所需的时间。

以下大约需要8分钟才能完成超过7GB的数据。

rsync -r -vvvv --info=progress2 --size-only /<local_path>/ /<remote_path>/

以下(避免使用NFS挂载)大约需要15秒才能完成超过7GB的数据(同上)。

rsync -r -vvvv --info=progress2 --size-only /<local_path>/ <user>@<west_cost_NFS>:/<remote_path>/

同样,上面的内容不会移动任何数据,因为文件夹已经同步,它只是验证数据是否相同(基于文件的大小)。

我尝试-o async在客户端和服务器上使用,但当我在客户端上运行“mount”时,/etc/exports async客户端永远不会显示。async我认为async是默认的。我尝试过将 rsize、wsize 也更改为更大的值,但性能并没有变得更好。我是否完全可以从 NFS 中获得更好的性能?

rsync nfsv4

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

如何授予需要密钥的用户 shell 访问权限

这可能是一个愚蠢的问题,但是当系统需要使用 ssh 密钥时,应该采取什么过程将用户添加到系统并为他们提供访问权限?

例如,在不需要密钥的系统上(可以接受密码),我可以添加用户,设置临时密码并要求他们在下次登录时更改密码(这不是问题)。

在需要密钥才能访问的系统上,而用户没有密钥对,为某人提供访问权限的正确程序是什么?根据我的理解,私钥永远不应该离开系统,如果我为它们生成一个,我需要将密钥对发送给他们,以便他们可以登录,这违背了建议。

是否有“首次登录时,创建 ssh 密钥对”选项?或者我应该让用户生成一个密钥对并让他们向我发送他们的公钥?

login ssh administration sshd

3
推荐指数
1
解决办法
160
查看次数