我正在设置一台 Linux 机器作为 Plex 服务器。我还希望用它来串流 Steam 游戏。
我正在运行以下命令:
- Ubuntu 18.04.4 LTS
- 4 GB 内存 2400MHz
- 英特尔 i3-8100
- 集成显卡
- 6 TB 硬盘
我还有一个 1 TB 的硬盘
每当我将大型视频文件从一个硬盘移动到另一个硬盘时,机器就会停止运行。光标甚至会连续几秒或几分钟都无法移动。
我做了以下调整:
- Swappiness 从默认的 60 提高到 10
- 启用驱动器缓存
- 将 I/O 调度切换为 [BFQ](我是否必须为每个驱动器执行此操作)
还有什么信息有用?我运行了“Top”,发现有足够的 CPU 和内存可用。
有什么想法吗?您需要更多信息吗?
任何帮助都将不胜感激。我有一个 SSD,但我不想把它放在这个服务器上。
编辑:
我对每块硬盘都进行了读取基准测试:平均约 160MB
解决方案:这是一个硬件问题。
答案1
RAM 与交换
设定
vm.swappiness=10
为错了错了错了适用于 i3 的 4G RAM。这就是文件复制失败的原因。现在将其设置回 60... 我们以后可能会进行更多更改。将驱动器缓存和 I/O 调度恢复为默认值。
free -h
并grep -i swap /etc/fstab
显示 4G RAM 和 2G /swapfile。/swapfile 可能对于您的系统来说太小,因此我们将使其大小增加一倍,如下所示:
更大的 /swapfile
警告:请小心。命令使用不当dd
可能会导致文件丢失。最好复制/粘贴。
free -h # confirm 4G RAM and 2G swap
sudo swapoff -a # turn off swap
sudo rm -i /swapfile # remove old /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile # set proper file protections
sudo mkswap /swapfile # init /swapfile
sudo swapon /swapfile # turn on swap
free -h # confirm 4G RAM and 4G swap
reboot # reboot and verify operation
更新#1:
虽然更大的交换文件有所帮助,但它并没有完全解决问题。用户将 HDD 换成了 SSD,现在一切正常。也许 HDD 上有一些坏块?
更新 #2:
对你的旧硬盘进行坏块处理...
注意:不要中止坏块扫描!
注意:不要对 SSD 造成坏块
注意:请先备份您的重要文件!
注意:这将花费很多小时
注意:您可能面临硬盘故障
在“尝试 Ubuntu”模式下启动 Ubuntu Live DVD/USB。
在terminal
...
sudo fdisk -l
# 识别所有“Linux 文件系统”分区
sudo e2fsck -fcky /dev/sdXX
# 只读测试
或者
sudo e2fsck -fccky /dev/sdXX
# 非破坏性读写测试(受到推崇的)
-k 很重要,因为它会保存之前的坏块表,并将任何新的坏块添加到该表中。如果没有 -k,您将丢失所有之前的坏块信息。
-fccky 参数...
-f Force checking even if the file system seems clean.
-c This option causes e2fsck to use badblocks(8) program to do a
read-only scan of the device in order to find any bad blocks.
If any bad blocks are found, they are added to the bad block
inode to prevent them from being allocated to a file or direc‐
tory. If this option is specified twice, then the bad block
scan will be done using a non-destructive read-write test.
-k When combined with the -c option, any existing bad blocks in the
bad blocks list are preserved, and any new bad blocks found by
running badblocks(8) will be added to the existing bad blocks
list.
-y Assume an answer of `yes' to all questions; allows e2fsck to be
used non-interactively. This option may not be specified at the
same time as the -n or -p options.