汇总Linux系统运维中遇到的问题

汇总Linux系统运维中遇到的问题

1、fdisk 磁盘分区报错

GPT PMBR size mismatch (20971519 != 83886079) will be corrected by w(rite).
GPT PMBR size mismatch (20971519 != 83886079) will be corrected by w(rite).

这个错误通常是由于磁盘分区表(partition table)与磁盘本身的大小不匹配所导致的。这可能是由于一个分区表被意外地覆盖或者磁盘被重新分区而导致的。parted -l 列出磁盘分区时将提示修复。

parted -l

2、控制台打印 audit: backlog limit exceeded

audit: backlog limit exceeded 的记录意味着系统审计日志的缓冲区已满,导致一些记录无法写入日志文件中,这可能会导致一些安全事件被丢失。通常,这是由于系统的审计日志速度太快而导致的,而系统无法及时处理所有的记录。这可以通过增加系统审计日志缓冲区的大小来解决。可以通过修改 /etc/audit/audit.rules 文件中的 --backlog 参数来增加缓冲区的大小。例如,将 --backlog 参数的值从默认的8192增加到16384可以将缓冲区的大小翻倍。修改完后,您可能需要重新启动 auditd 服务才能使更改生效。

3、关于linux系统资源限制命令和内核参数

ulimit -u  # 查看当前用户的最大进程数
ulimit -n  # 查看当前用户的最大打开文件数
ulimit -a  # 查看当前所有资源限制
cat /proc/sys/kernel/pid_max  # 查看系统中可创建的进程数
cat /proc/sys/fs/file-max  # 查看系统中可打开的文件数

/etc/security/limits.conf  # 限制每个用户可用的最大进程数量和最多可打开的文件描述符的软限制和硬限制
/etc/security/limits.d/20-nproc.conf  # 限制每个用户可用的最大进程数量的软限制和硬限制
/etc/sysctl.conf kernel.pid_max  # 该参数限制系统中可创建的进程数
/etc/sysctl.conf fs.file-max  # 该参数限制系统中可打开的文件数

ulimit -SHn 65536  # 临时设置当前用户文件限制、重启失效
ulimit -SHu 65536  # 临时设置当前用户进程限制、重启失效
su - user1 -c 'ulimit -SHn 65536'  # 临时设置用户user1文件限制、重启失效
su - user1 -c 'ulimit -SHu 65536'  # 临时设置用户user1进程限制、重启失效

# 设置的硬限制如果超出了系统的最大限制,那么以系统的最大限制为准
# 软限制是用户可以自行调整的当前限制,软限制可以增加到硬限制的值
# 硬限制是软限制的上限值,只有root用户可以增加硬限制,任何用户都可以降低硬限制

4、嵌套虚拟化实验环境下网络不通

混杂模式(Promiscuous Mode)是一种网络接口的工作状态,在这种状态下,网卡能够接收所有经过它的数据流,而不论其目的地址是否是它本身。因此,嵌套虚拟化环境下的虚拟机作为宿主机使用时,需要开启网卡的混杂模式。

5、动态扫描主机scsi LUN

for host in /sys/class/scsi_host/host*/scan; do echo "- - -" > "$host"; done

6、MySQL数据库初始更改特权用户密码及开启远程连接

systemctl enable mysqld.service --now
grep "password" /var/log/mysqld.log

> SELECT `USER`,AUTHENTICATION_STRING,`HOST` FROM MYSQL.USER;
> ALTER USER 'ROOT'@'LOCALHOST' IDENTIFIED BY '123456';
> GRANT ALL PRIVILEGES ON *.* TO 'ROOT'@'%' IDENTIFIED BY '123456';
> FLUSH PRIVILEGES;
> CREATE DATABASE SAMPLEDB;

7、格式化文件系统速度很慢

根源:mkfs命令在磁盘上发出块丢弃命令,但底层存储设备无法处理它。增加-K选项可以避免此问题。

        -K     Keep,  do  not  attempt  to discard blocks at mkfs time
                      (discarding blocks initially is useful on  solid  state
                      devices and sparse / thin-provisioned storage).

# mkfs.ext4 -K </dev/mapper/path_to_lvm_volume>   # For ext4 filesystem
# mkfs.xfs -K </dev/mapper/path_to_lvm_volume>      # For XFS filesystem

https://access.redhat.com/solutions/727333

8、dd命令远程测速

# 本地:192.168.200.1
# 远程:192.168.200.2

# 远程到本地
ssh root@192.168.200.2 -p 22 dd if=/root/test.bin | dd of=/root/test.bin
ssh root@192.168.200.2 -p 22 dd if=/dev/mapper/centos-root bs=4K count=1024000 | dd of=/root/test.bin

# 本地到远程
dd if=/root/test.bin | ssh -p 22 root@192.168.200.2 dd of=/root/test.bin
dd if=/dev/mapper/centos-root bs=4K count=1024000 | ssh -p 22 root@192.168.200.2 dd of=/root/test.bin

9、屏蔽服务日志(如审计服务)输出到messages文件

vim /etc/rsyslog.conf

:programname, isequal, "audit" stop
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
# 或者
if $programname == 'audit' then stop
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# 重启rsyslog
systemctl restart rsyslog

10、网卡绑定

# 配置网络绑定
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=1000"
nmcli connection add type ethernet slave-type bond con-name bond0-ens37 ifname ens37 master bond0
nmcli connection add type ethernet slave-type bond con-name bond0-ens38 ifname ens38 master bond0
nmcli connection modify bond0 ipv4.method manual ipv4.addresses 192.168.100.152/24 ipv4.gateway 192.168.100.2 ipv4.dns 192.168.200.2

nmcli connection up bond0
nmcli connection up bond0-ens37
nmcli connection up bond0-ens38

# 在绑定网络上配置VLAN标记
nmcli connection delete bond0
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=1000"
nmcli connection modify bond0 ipv4.method disabled

nmcli connection add type vlan con-name bond0.100 ifname bond0.100 vlan.parent bond0 vlan.id 100
nmcli connection add type vlan con-name bond0.200 ifname bond0.200 vlan.parent bond0 vlan.id 200
nmcli connection modify bond0.100 ipv4.method manual ipv4.addresses 192.168.100.152/24 ipv4.gateway 192.168.100.2 ipv4.dns 192.168.100.2
nmcli connection modify bond0.200 ipv4.method manual ipv4.addresses 192.168.200.152/24 ipv4.gateway 192.168.200.2 ipv4.dns 192.168.200.2

nmcli connection up bond0
nmcli connection up bond0.100
nmcli connection up bond0.200

# 查看连接配置和绑定信息
nmcli connection show
cat /proc/net/bonding/bond0

# 删除连接配置
nmcli connection delete bond0
nmcli connection delete bond0-ens37
nmcli connection delete bond0-ens38
nmcli connection delete bond0.100
nmcli connection delete bond0.200

依赖绑定模式的上游交换机配置:

绑定模式 交换机上的配置
0 - balance-rr 需要启用静态 EtherChannel,而不是链路聚合控制协议(LACP)协商。
1 - active-backup 交换机上不需要任何配置。
2 - balance-xor 需要启用静态 EtherChannel,而不是 LACP 协商。
3 - broadcast 需要启用静态 EtherChannel,而不是 LACP 协商。
4 - 802.3ad 需要启用 LACP 协商的 EtherChannel。
5 - balance-tlb 交换机上不需要任何配置。
6 - balance-alb 交换机上不需要任何配置。

11、策略路由

# 需求:修改辅网卡的默认路由表,修改为编号200,并增加辅网卡路由表规则,让本机192.168.200.100发出的数据包走编号200的路由表。
nmcli connection modify ens37 ipv4.route-table 200
nmcli connection modify ens37 ipv4.routing-rules "priority 32000 from 192.168.200.100 table 200"
systemctl restart network

# 修改成功后查看路由策略规则,以及查看路由表
ip rule list
ip route show table 200
ip route show table main

12、引导修复及单用户模式磁盘操作

# 手动引导
grub > set root=hd0,msdos1
grub > linux /vmlinuz-3.10.0-957.el7.x86_64 root=/dev/mapper/centos-root
grub > initrd /initramfs-3.10.0-957.el7.x86_64.img
grub > boot

# 配置变更
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS  # 启动方式判断
grub2-editenv /boot/efi/EFI/centos/grubenv set next_entry=1  # UEFI 设置下次启动条目
grub2-editenv /boot/grub2/grubenv set next_entry=1  # BIOS 设置下次启动条目
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg  # UEFI 更新grub配置
grub2-mkconfig -o /boot/grub2/grub.cfg  # BIOS 更新grub配置

# For Ubuntu
sudo sed -i 's/^GRUB_TIMEOUT_STYLE=hidden/GRUB_TIMEOUT_STYLE=menu/' /etc/default/grub
sudo sed -i 's/^GRUB_TIMEOUT=0/GRUB_TIMEOUT=5/' /etc/default/grub
sudo update-grub
sudo cp /boot/grub/grub.cfg /boot/efi/EFI/ubuntu/grub.cfg  # For UEFI

# 逻辑卷激活
vgchange -ay
vgimportclone -n newcentos /dev/sdb2  # 如果vg重命 重命名为newcentos
vgchange newcentos -ay

# 临时文件系统挂载
mount /dev/sdb2 /sysroot
mount --bind /sys /sysroot/sys
mount --bind /proc /sysroot/proc
mount --bind /dev /sysroot/dev
mount --bind /run /sysroot/run
mount --bind /tmp /sysroot/tmp
chroot /sysroot

13、Device #015 does not seem to be present

无法启动网络服务,查看messages日志/etc/sysconfig/network-scripts/ifup-eth[1995]: Device ens33#015 does not seem to be present, delaying initialization,其中设备名解析中多了#015
原因是网络配置文件行尾换行符为Windows系统下的换行符导致,使用cat -A命令查看行尾为^M$,Unix系统下的换行符则只有$。日志信息中的015是8进制数字表示方式。
在ASCII编码中,有以下两个控制字符:
/012(八进制)= 0x0A(十六进制)代表换行(Line Feed,简称LF),对应的特殊转义字符是"/n"。
/015(八进制)= 0x0D(十六进制)代表回车(Carriage Return,简称CR),对应的特殊转义字符是"/r"。
因此"/015/012"代表"/r/n"就是先回车、再换行,Windows是用这个组合作为换行符。而"/n"是Unix用来表示的换行。

14、RX dropped

从内核2.6.37版本开始,丢弃数据包计数的含义已经发生了变化。在之前,数据包被丢弃最可能是因为出现了错误。现在,rx_dropped计数器显示了由于以下原因而被丢弃的数据帧的统计信息:

  • Softnet backlog full — (Measured from /proc/net/softnet_stat)
  • Bad / Unintended VLAN tags
  • Unknown / Unregistered protocols
  • IPv6 frames when the server is not configured for IPv6

解释过来就是:
1、数据包的处理速度跟不上数据包接收的速度,导致系统内部的接收队列(也称为软中断队列)被填满。
2、数据包带有错误的VLAN标签,或者系统没有预期接收该VLAN标签的数据包。
3、数据包可能包含了一个系统不认识或未配置的协议类型,或者系统不知道如何处理这种协议的数据包。
4、如果服务器没有启用或配置IPv6支持,但收到了IPv6的数据包,那么这些数据包将无法被正确解析或处理。
如果任何数据帧满足上述条件之一,它们将在协议栈之前被丢弃,并且rx_dropped计数器的值会增加。

15、文件莫名消失的问题

新挂载/home到新硬盘时,/home原来数据变空了,这个原因是由于Linux的VFS(虚拟文件系统)机制导致的,正常登录以后,所看到的各个目录,文件都是内核在加载时候构造在内存中的VFS目录树,而不是直接看到硬盘上的实际目录树。当你挂载某个设备到一个VFS挂载点上时(比如/home),系统就把VFS中的这个挂载点/home指向你最后所挂载的那个设备上。那么你现在访问该挂载点时,就会看到你最后挂载在此处的设备。而之前所挂载的设备依然在那里,只不过挂载点/home已经不再指向之前的设备。所以之前的数据是被隐藏了,但并没有删除,若umount挂载后,数据又重新回来了。

16、捕获进程退出状态码

#!/bin/bash  
# 启动一个后台进程  
sleep 100 &
# 获取后台进程的 PID  
PID=$!
# 等待该后台进程完成  
wait $PID  
# 获取并打印退出状态码  
EXIT_STATUS=$?  
echo "The background process exited with status $EXIT_STATUS"

17、服务单元Type=forking

当服务单元被设置为 Type=forking 时,systemd 期望该服务在启动时会创建出一个或多个子进程,并且服务本身(父进程)会退出。典型的例子是传统的 UNIX 守护进程,它们在启动时会派生出一个子进程来处理实际的工作,然后父进程会退出。(Type=forking只是为了兼容性)。于是,如果守护进程分叉两次或者它在其他方面表现异常,则可能存在竞争。
https://systemd-devel.freedesktop.narkive.com/eDM9b83I/possible-bug-guessing-mainpid-when-service-type-forking
https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html#Options

18、ping: sendmsg: Invalid argument

net ratelimit:xxx callbacks suppressed
原因:arp表满了导致

# 查看系统配额
sysctl -a | grep net.ipv4.neigh.default.gc_thresh
# 查看当前arp条目数目
ip neigh | wc -l

# 解决方案:根据实际arp最大值情况(比如访问其他子机最大个数),调整arp表大小
sudo sysctl -w net.ipv4.neigh.default.gc_thresh1=1024
sudo sysctl -w net.ipv4.neigh.default.gc_thresh2=2048
sudo sysctl -w net.ipv4.neigh.default.gc_thresh3=4096

19、动态链接器在运行时未能找到所需的共享库

动态链接器加载的优先级:LD_LIBRARY_PATH > /etc/ld.so.conf.d/ > /etc/ld.so.conf > /lib/ > /lib64/

  1. 修改LD_LIBRARY_PATH环境变量(临时生效)
    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    
  2. 更新ld.so.cache(永久生效)
    echo '/usr/local/lib' | tee -a /etc/ld.so.conf.d/local.conf
    ldconfig
    

20、sshd服务开启端口转发

编辑sshd服务配置文件,修改参数AllowTcpForwarding yes,断开所有的ssh会话后生效。

21、systemd: Unit xxx.mount is bound to inactive unit xxxx.device. Stopping, too

systemctl daemon-reload

22、mount: /mnt: mount failed: Operation not permitted.

可能的原因:1、普通用户没有权限执行mount;2、系统loop模块有问题

mount CentOS-7-x86_64-DVD-1810.iso /mnt  # 实际上等同于执行了
mount -t iso9660 -o loop CentOS-7-x86_64-DVD-1810.iso /mnt  # 系统会强制加载loop模块(loop.ko)
modprobe loop  # 尝试是否可以手动加载loop模块

23、引导选项用于禁用指定的驱动程序

# 启动引导增加modprobe.blacklist=,比如禁用ahci和firewire_ohci
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rhgb quiet modprobe.blacklist=ahci,firewire_ohci"

24、执行sudo命令报错

sudo: pam_open_session: Permission denied
sudo: policy plugin failed session initialization
# 排错思路:
# 1、/etc/security/ulimits.conf文件中nofile的软硬限制的值不能超过内核参数/proc/sys/fs/nr_open设置的值
# 2、chage -l user01 查看用户密码是否过期

25、安装桌面环境后不显示

可能是原因:服务lightdm未启动或启动失败,可能是因为系统中缺少lightdm用户,lightdm用户由包lightdm安装时自动创建。
查看/etc/passwd、/etc/shadow、/etc/group等关键文件的attr属性,是否增加了i属性,导致未能成功创建用户。

26、Limit for the maximum number of semaphores reached

某些LVM 命令(lvcreate、lvremove、dmsetup resume 等)可能会由于信号量短缺而失败,并出现以下错误:

Limit for the maximum number of semaphores reached. You can check and set the limits in /proc/sys/kernel/sem.

解决:
更新tuned至0.2.19-16.el6(随RHBA-2016-0787发布)或更高版本,其中包含针对此问题的修复。
如果不使用ktune/tuned
使用echo "750 288000 300 384" > /proc/sys/kernel/sem增加信号量限制(750*384 = 288000)
如果使用 ktune/tuned
一种解决方法是复制ktune/tuned配置文件中用于kernel.sem可调参数的值,并将其添加到/etc/sysctl.conf文件中。
根本原因:
LVM 设备上的状态更改会触发 udev 事件,该事件会通过停止/启动序列重新启动 ktune/tuned 服务。当 ktune/tuned 服务停止时,kernel.sem 可调参数将恢复为系统默认值或 /etc/sysctl.conf 中的值。如果此值小于 ktune/tuned 服务配置文件使用的值,则信号量不足可能会导致这些故障。

27、Ubuntu系统打开文件限制数修改后仍然显示1024

Ubuntu系统修改打开文件限制数,配置/etc/securty/limits.conf最好指明用户,不要使用*,因为使用*,在root用户下查询,显示为1024,不会显示更改后的值。但实际已经生效(比如切换到任何一个普通用户,查询就是修改后的值)。

28、NetworkManager禁用自动连接的创建

默认情况下,NetworkManager 会自动为磁盘上没有其他候选连接的每台以太网设备创建一个新的内存连接。这些新连接的名称为“有线连接 1”、“有线连接 2”等等;它们启用了 DHCPv4 和 IPv6 自动配置。
这种行为在服务器上通常是不受欢迎的,因为服务器上的所有接口都应该明确配置。要禁用此类自连接的创建,请添加no-auto-default=*到[main] 配置部分。配置文件路径为:/usr/lib/NetworkManager/conf.d/00-server.conf

29、执行yum或rpm命令报错:error: Failed to initialize NSS library

使用strace -eopen rpm指令跟踪open系统调用,查看出错时的最后一个调用的动态库文件,基本上问题就出在这个动态库文件上。

30、NetworkManager兼容ipv4的ipv6路由解析异常

该问题是NetworkManager低版本的bug,操作流程完全一致,生成的ipv6路由配置文件内容也一致,但生成的内核ipv6路由表却不一致。

nmcli connection modify ens33 +ipv6.routes "FD00:D40::7.178.64.0/114 FD00:D40::7.178.64.254"
nmcli connection down ens33 && nmcli connection up ens33
cat /etc/sysconfig/network-scripts/route6-ens33 
fd00:d40::7b2:4000/114 via fd00:d40::7b2:40fe

查看内核ipv6路由表(仅测试了部分版本)

ip -6 route
fd00:d40::b2:4000/114 via fd00:d40::7b2:40fe dev ens33 proto static metric 104 pref medium  # 1.16.0及以下版本,解析错误
fd00:d40::7b2:4000/114 via fd00:d40::7b2:40fe dev ens33 proto static metric 104 pref medium  # 1.26.2及以上版本,解析正常

31、让CPU保持在90%以上

for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do cat /dev/urandom | md5sum & done
for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done
for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do openssl speed rsa & done

pkill -9 cat
pkill -9 dd
pkill -9 openssl

yum install -y sysbench
sysbench --threads=100 --events=80000  cpu --cpu-max-prime=8000000 run
pkill sysbench

yum install -y stress
stress --cpu 8 --timeout 600
pkill stress

32、Failed to start Switch Root. See 'systemctl status initrd-switch-root.service' for details.

可能原因:根文件系统没有挂载或者根文件系统缺少os-release文件

33、unknown filesystem type 'nfsd'

modprobe nfsd

34、异常断电导致文件内容丢失(文件在缓存区还没来得及落盘)

为了实现数据实时落盘,需要调整内核参数,使得脏数据在缓存中的停留时间尽可能短,且一旦有数据写入缓存就尽快落盘。

cat >>/etc/sysctl.conf<<EOF
vm.dirty_background_bytes = 0
vm.dirty_background_ratio = 1
vm.dirty_bytes = 0
vm.dirty_expire_centisecs = 100  # 缩短到1vm.dirty_ratio = 5
vm.dirty_writeback_centisecs = 100  # 缩短到1vm.dirtytime_expire_seconds = 10  # 缩短到10EOF

35、PROMPT_COMMAND

‌PROMPT_COMMAND‌是Bash shell中的一个环境变量,用户在每次显示主提示符之前,shell会检查PROMPT_COMMAND环境变量。如果这个变量被设置了,Bash会在显示主提示符之前执行其值指定的命令。示例:
‌显示当前时间‌:export PROMPT_COMMAND='echo -n "当前时间: $(date "+%H:%M:%S")"'
‌自定义提示信息‌:export PROMPT_COMMAND='PS1="在 $(pwd) > "'‌
可通过PROMPT_COMMAND='history -a; history -n'配置,使每条命令执行后立即追加到文件,避免丢失。

36、Ubuntu因防火墙规则导致的网络通信异常

iptables-legacy基于传统的Netfilter框架,通过一系列内核模块(如iptable_filter、iptable_nat等)来实现规则的处理和执行。而iptables-nft则基于nftables框架,nftables利用自身更高效的规则管理和匹配算法,以及新的数据结构来处理网络数据包过滤和转换任务。
Docker的网络功能(如端口映射、网络隔离)依赖于传统的iptables规则(iptables-legacy)。虽然iptables-nft提供了兼容层,但在某些情况下,Docker可能无法正确解析或应用这些规则,导致网络初始化失败。
解决:运行sudo update-alternatives --config iptables切换iptables实现,系统会提示选择iptables的实现方式。iptables --version查看当前使用的框架。

sudo update-alternatives --config iptables
sudo iptables --version

在使用iptables-nft(默认)的场景下,使用iptables -nL与使用iptables-legacy -nL会看到两套不同的规则。

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables-legacy -I INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -nL
sudo iptables-legacy -nL

37、Ubuntu修改cgroup版本

# 查看cgroup版本
sudo stat -fc %T /sys/fs/cgroup
cgroup2fs

# 修改grub配置
sudo vim /etc/default/grub
# GRUB_CMDLINE_LINUX中新增systemd.unified_cgroup_hierarchy=0
GRUB_CMDLINE_LINUX="quiet splash systemd.unified_cgroup_hierarchy=0"

# 更新grub并重启
sudo update-grub
reboot

# 再次验证
sudo stat -fc %T /sys/fs/cgroup
tmpfs

38、VMware Workstation中绑定网卡切换主备后无法通信

虚拟机bond0网卡模式为mode1(active-backup),成员为ens33和ens37,默认active网卡是ens33,切换active网卡为ens37后,虚拟机无法正常通信。
在虚拟机内部使用tcpdump在ens37上抓包(会使ens37进入混杂模式),发现虚拟机可以正常通信。随即手动将ens37设置为混杂模式,虚拟机正常通信。

# 切换active网卡为ens37
ifenslave -c bond0 ens37

# 将ens37设置为混杂模式
ip link set ens37 promisc on

39、iostat中有关%util的解释

man手册中的解释:
Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device).Device saturation occurs when this value is close to 100% for devices serving requests serially. But for devices serv‐ing requests in parallel, such as RAID arrays and modern SSDs, this number does not reflect their performance limits.
该参数极具误导性:
像传统的机械硬盘(HDD)通常是串行处理 I/O 请求的,也就是一次只能处理一个请求。当 %util 接近 100% 时,说明磁盘一直在忙碌地处理 I/O 请求,几乎没有空闲时间,新的 I/O 请求就需要排队等待处理,这时候磁盘就达到了饱和状态,可能会导致 I/O 响应时间变长,系统性能下降。RAID 阵列和现代 SSD 可以同时处理多个 I/O 请求,具有并行处理能力。即使 %util 达到 100%,也不意味着这些设备已经达到了它们的性能上限。因为它们可以同时处理多个请求,在 %util 显示为 100% 时,可能只是表示设备一直在忙碌,但实际上还有能力处理更多的请求。所以,对于这类并行处理设备,不能仅仅依靠 %util 指标来判断其性能是否达到极限,还需要结合其他指标,如每秒的 I/O 操作次数(IOPS)、数据传输速率等进行综合评估。

posted @   wanghongwei-dev  阅读(419)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
历史上的今天:
2021-05-19 Elasticsearch集群部署及HEAD插件安装
点击右上角即可分享
微信分享提示