|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
引言
Void Linux是一个独立开发的、滚动发布的Linux发行版,以其简洁、高效和灵活而著称。它使用runit作为init系统,XBPS作为包管理器,为用户提供了高度可定制的操作系统环境。然而,像所有Linux发行版一样,Void Linux也需要适当的性能调优才能发挥其最大潜力。
性能调优是优化系统资源使用、提高响应速度和确保稳定运行的过程。对于Void Linux这样的轻量级系统,适当的调优可以显著提升用户体验,特别是在资源受限的环境中或运行高要求应用时。本文将全面介绍Void Linux性能调优的各个方面,从基础系统配置到高级优化技术,帮助您打造高效稳定的系统。
系统基础优化
内核参数调优
Void Linux允许通过修改内核参数来优化系统性能。这些参数控制着系统的各个方面,从内存管理到网络行为。内核参数主要通过/etc/sysctl.conf文件或/etc/sysctl.d/目录下的配置文件进行设置。
以下是一些重要的内核参数调优示例:
- # 编辑sysctl配置文件
- sudo nano /etc/sysctl.d/99-performance.conf
复制代码
在配置文件中添加以下参数:
- # 增加文件描述符限制
- fs.file-max = 100000
- # 优化网络栈性能
- net.core.rmem_max = 16777216
- net.core.wmem_max = 16777216
- net.ipv4.tcp_rmem = 4096 87380 16777216
- net.ipv4.tcp_wmem = 4096 65536 16777216
- net.ipv4.tcp_congestion_control = bbr
- # 虚拟内存管理
- vm.swappiness = 10
- vm.vfs_cache_pressure = 50
- vm.dirty_ratio = 30
- vm.dirty_background_ratio = 5
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-performance.conf
复制代码
这些参数的作用包括:
• fs.file-max:增加系统允许的最大文件描述符数量,对于需要处理大量连接的服务器应用特别重要。
• 网络参数:优化TCP/IP栈性能,增加缓冲区大小,使用BBR拥塞控制算法提高网络吞吐量。
• 虚拟内存参数:减少交换倾向,优化缓存压力和脏页处理,提高系统响应速度。
文件系统优化
Void Linux支持多种文件系统,选择合适的文件系统并进行适当调优可以显著提高I/O性能。以下是一些常见文件系统的优化建议:
对于ext4文件系统,可以在挂载时添加以下选项:
- # 编辑/etc/fstab文件
- sudo nano /etc/fstab
复制代码
修改挂载选项,例如:
- UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults,noatime,nodiratime,data=writeback,barrier=0 0 1
复制代码
这些选项的含义:
• noatime和nodiratime:禁用访问时间更新,减少磁盘写入操作。
• data=writeback:使用写回模式,提高性能但可能增加数据丢失风险(在电源故障时)。
• barrier=0:禁用写入屏障,提高性能但同样增加数据丢失风险。
对于btrfs文件系统,可以考虑以下优化:
- # 创建btrfs文件系统时指定优化选项
- sudo mkfs.btrfs -L "rootfs" -d single -m single /dev/sda1
- # 挂载选项
- UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / btrfs defaults,noatime,compress=lzo,space_cache=v2 0 1
复制代码
btrfs优化选项:
• compress=lzo:启用LZO压缩,减少磁盘使用并可能提高I/O性能。
• space_cache=v2:使用新版空间缓存,提高性能。
内存管理优化
Void Linux的内存管理可以通过多种方式进行优化,以提高系统响应速度和整体性能。
首先,确保系统有适当的交换空间配置:
- # 检查当前交换空间
- sudo swapon --show
- # 如果需要,创建交换文件
- sudo fallocate -l 2G /swapfile
- sudo chmod 600 /swapfile
- sudo mkswap /swapfile
- sudo swapon /swapfile
- # 永久启用交换文件
- echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
复制代码
然后,调整内存管理参数:
- # 编辑sysctl配置文件
- sudo nano /etc/sysctl.d/99-memory.conf
复制代码
添加以下参数:
- # 减少交换倾向
- vm.swappiness = 10
- # 优化脏页处理
- vm.dirty_ratio = 30
- vm.dirty_background_ratio = 5
- # 提高内存回收效率
- vm.vfs_cache_pressure = 50
- # 优化内存映射区域
- vm.max_map_count = 262144
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-memory.conf
复制代码
这些参数的作用:
• vm.swappiness = 10:减少系统使用交换空间的倾向,优先使用物理内存。
• vm.dirty_ratio和vm.dirty_background_ratio:控制脏页在内存中的比例,平衡I/O性能和数据安全性。
• vm.vfs_cache_pressure:控制内核回收目录和inode缓存的倾向,值越小越倾向于保留这些缓存。
• vm.max_map_count:增加进程可以拥有的内存映射区域数量,对于运行大型应用(如数据库)特别重要。
CPU性能优化
CPU调度器调整
Void Linux默认使用CFS(Completely Fair Scheduler)作为CPU调度器,但可以通过调整其参数来优化性能。
编辑sysctl配置文件:
- sudo nano /etc/sysctl.d/99-cpu.conf
复制代码
添加以下参数:
- # 优化CPU调度
- kernel.sched_min_granularity_ns = 10000000
- kernel.sched_wakeup_granularity_ns = 15000000
- kernel.sched_migration_cost_ns = 5000000
- kernel.sched_latency_ns = 20000000
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-cpu.conf
复制代码
这些参数的作用:
• sched_min_granularity_ns:设置任务运行的最小时间片,减少上下文切换开销。
• sched_wakeup_granularity_ns:控制唤醒任务的抢占粒度,平衡响应性和吞吐量。
• sched_migration_cost_ns:设置任务迁移的成本阈值,减少不必要的任务迁移。
• sched_latency_ns:控制调度器的目标延迟,平衡响应性和吞吐量。
CPU频率和节能设置
Void Linux支持多种CPU频率调节策略,可以根据系统用途选择合适的策略。
首先,安装CPU频率调节工具:
- sudo xbps-install cpupower
复制代码
然后,查看可用的调节器:
- cpupower frequency-info --governors
复制代码
根据系统用途选择合适的调节器:
- # 对于高性能需求
- sudo cpupower frequency-set --governor performance
- # 对于平衡性能和节能
- sudo cpupower frequency-set --governor ondemand
- # 对于最大化节能
- sudo cpupower frequency-set --governor powersave
复制代码
为了使设置永久生效,可以创建一个runit服务:
- # 创建服务目录
- sudo mkdir /etc/sv/cpupower
- # 创建运行脚本
- sudo nano /etc/sv/cpupower/run
复制代码
添加以下内容:
- #!/bin/sh
- exec 2>&1
- echo "Setting CPU governor to performance"
- cpupower frequency-set --governor performance
复制代码
使脚本可执行并启用服务:
- sudo chmod +x /etc/sv/cpupower/run
- sudo ln -s /etc/sv/cpupower /var/service/
复制代码
多核和线程优化
对于多核系统,可以通过优化进程和线程的CPU亲和性来提高性能。
首先,安装taskset工具:
- sudo xbps-install util-linux
复制代码
然后,使用taskset设置进程的CPU亲和性:
- # 将进程绑定到特定的CPU核心
- taskset -c 0,1 your_command
- # 查看当前进程的CPU亲和性
- taskset -p <pid>
复制代码
对于多线程应用,可以使用numactl来优化NUMA系统上的内存访问:
- # 安装numactl
- sudo xbps-install numactl
- # 在特定NUMA节点上运行应用
- numactl --cpunodebind=0 --membind=0 your_application
- # 显示NUMA信息
- numactl --hardware
复制代码
此外,可以通过设置中断亲和性来优化网络和存储性能:
- # 查看中断分配
- cat /proc/interrupts
- # 设置中断亲和性
- echo 1 > /proc/irq/123/smp_affinity
复制代码
内存管理优化
虚拟内存设置
Void Linux的虚拟内存系统可以通过多种参数进行调优,以适应不同的工作负载。
编辑sysctl配置文件:
- sudo nano /etc/sysctl.d/99-vm.conf
复制代码
添加以下参数:
- # 虚拟内存优化
- vm.swappiness = 10
- vm.dirty_ratio = 30
- vm.dirty_background_ratio = 5
- vm.dirty_expire_centisecs = 500
- vm.dirty_writeback_centisecs = 100
- vm.vfs_cache_pressure = 50
- vm.zone_reclaim_mode = 0
- vm.max_map_count = 262144
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-vm.conf
复制代码
这些参数的作用:
• vm.swappiness:控制内核交换内存页的倾向,值越小越倾向于使用物理内存。
• vm.dirty_ratio和vm.dirty_background_ratio:控制脏页在内存中的比例,影响I/O性能和数据安全性。
• vm.dirty_expire_centisecs和vm.dirty_writeback_centisecs:控制脏页的刷新频率。
• vm.vfs_cache_pressure:控制内核回收目录和inode缓存的倾向。
• vm.zone_reclaim_mode:控制内存回收模式,对于NUMA系统特别重要。
• vm.max_map_count:增加进程可以拥有的内存映射区域数量。
交换空间管理
交换空间的管理对于系统性能至关重要,特别是在内存有限的情况下。
首先,检查当前的交换空间使用情况:
如果需要调整交换空间,可以创建一个交换文件:
- # 创建2GB交换文件
- sudo fallocate -l 2G /swapfile
- sudo chmod 600 /swapfile
- sudo mkswap /swapfile
- sudo swapon /swapfile
- # 永久启用交换文件
- echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
复制代码
为了优化交换性能,可以调整交换参数:
- # 编辑sysctl配置文件
- sudo nano /etc/sysctl.d/99-swap.conf
复制代码
添加以下参数:
- # 交换空间优化
- vm.swappiness = 10
- vm.vfs_cache_pressure = 50
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-swap.conf
复制代码
此外,可以考虑使用zswap来压缩交换页面,减少I/O操作:
- # 编辑内核命令行
- sudo nano /etc/default/grub
复制代码
在GRUB_CMDLINE_LINUX_DEFAULT中添加以下参数:
- GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4 zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20"
复制代码
更新GRUB配置:
重启系统以应用更改。
内存分配策略
Void Linux允许通过多种方式优化内存分配策略,以提高系统性能。
首先,安装numactl工具:
- sudo xbps-install numactl
复制代码
然后,查看系统的NUMA拓扑:
对于NUMA系统,可以使用numactl来优化内存分配:
- # 在特定NUMA节点上分配内存
- numactl --membind=0 your_application
- # 交错分配内存
- numactl --interleave=all your_application
复制代码
此外,可以通过设置透明大页面(THP)来优化内存使用:
- # 查看当前THP设置
- cat /sys/kernel/mm/transparent_hugepage/enabled
- cat /sys/kernel/mm/transparent_hugepage/defrag
- # 禁用THP(对于某些工作负载可能更有效)
- echo never > /sys/kernel/mm/transparent_hugepage/enabled
- echo never > /sys/kernel/mm/transparent_hugepage/defrag
- # 或者设置为madvise(仅对明确请求的应用使用THP)
- echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
- echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
复制代码
为了使这些设置永久生效,可以创建一个runit服务:
- # 创建服务目录
- sudo mkdir /etc/sv/thp
- # 创建运行脚本
- sudo nano /etc/sv/thp/run
复制代码
添加以下内容:
- #!/bin/sh
- exec 2>&1
- echo "Configuring Transparent Huge Pages"
- echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
- echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
复制代码
使脚本可执行并启用服务:
- sudo chmod +x /etc/sv/thp/run
- sudo ln -s /etc/sv/thp /var/service/
复制代码
存储系统优化
I/O调度器选择
Void Linux支持多种I/O调度器,选择合适的调度器可以显著提高存储性能。
首先,查看可用的I/O调度器:
- cat /sys/block/sda/queue/scheduler
复制代码
常见的I/O调度器包括:
• noop:简单的FIFO调度器,适用于SSD或虚拟化环境。
• deadline:截止时间调度器,提供较好的延迟保证。
• cfq:完全公平队列调度器,适用于多用户环境。
• kyber:适用于快速存储设备的新调度器。
• mq-deadline:多队列版本的deadline调度器。
根据存储类型选择合适的调度器:
- # 对于SSD或NVMe
- echo noop > /sys/block/sda/queue/scheduler
- # 对于传统HDD
- echo deadline > /sys/block/sda/queue/scheduler
- # 对于多队列设备
- echo mq-deadline > /sys/block/sda/queue/scheduler
复制代码
为了使设置永久生效,可以创建一个udev规则:
- # 创建udev规则文件
- sudo nano /etc/udev/rules.d/60-io-scheduler.rules
复制代码
添加以下内容:
- # 设置SSD的I/O调度器为noop
- ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop"
- # 设置HDD的I/O调度器为deadline
- ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="deadline"
复制代码
重新加载udev规则:
- sudo udevadm control --reload-rules
- sudo udevadm trigger
复制代码
磁盘缓存策略
磁盘缓存策略对于存储性能至关重要,特别是在处理大量I/O操作时。
首先,查看当前的磁盘缓存设置:
- # 查看磁盘缓存设置
- hdparm -W /dev/sda
- # 查看块设备设置
- blockdev --getra /dev/sda
复制代码
调整磁盘缓存设置:
- # 启用写缓存(对于有电池备份的RAID控制器)
- hdparm -W1 /dev/sda
- # 增加读取预取
- blockdev --setra 16384 /dev/sda
复制代码
为了使设置永久生效,可以创建一个runit服务:
- # 创建服务目录
- sudo mkdir /etc/sv/disk-cache
- # 创建运行脚本
- sudo nano /etc/sv/disk-cache/run
复制代码
添加以下内容:
- #!/bin/sh
- exec 2>&1
- echo "Configuring disk cache settings"
- hdparm -W1 /dev/sda
- blockdev --setra 16384 /dev/sda
复制代码
使脚本可执行并启用服务:
- sudo chmod +x /etc/sv/disk-cache/run
- sudo ln -s /etc/sv/disk-cache /var/service/
复制代码
文件系统选择与调优
Void Linux支持多种文件系统,选择合适的文件系统并进行适当调优可以显著提高I/O性能。
对于SSD或NVMe设备,建议使用以下文件系统选项:
- # 编辑/etc/fstab文件
- sudo nano /etc/fstab
复制代码
修改挂载选项,例如:
- UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults,noatime,nodiratime,discard,barrier=0,data=writeback 0 1
复制代码
这些选项的含义:
• noatime和nodiratime:禁用访问时间更新,减少写入操作。
• discard:启用TRIM支持,对于SSD设备很重要。
• barrier=0:禁用写入屏障,提高性能但增加数据丢失风险。
• data=writeback:使用写回模式,提高性能但增加数据丢失风险。
对于btrfs文件系统,可以考虑以下优化:
- UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / btrfs defaults,noatime,compress=lzo,space_cache=v2,autodefrag 0 1
复制代码
btrfs优化选项:
• compress=lzo:启用LZO压缩,减少磁盘使用并可能提高I/O性能。
• space_cache=v2:使用新版空间缓存,提高性能。
• autodefrag:自动进行碎片整理,对于SSD设备特别有用。
对于xfs文件系统,可以考虑以下优化:
- UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / xfs defaults,noatime,nodiratime,logbufs=8,logbsize=256k 0 1
复制代码
xfs优化选项:
• logbufs=8:增加日志缓冲区数量,提高事务处理性能。
• logbsize=256k:增加日志缓冲区大小,提高事务处理性能。
网络性能优化
网络参数调整
Void Linux的网络性能可以通过调整内核网络参数来显著提高。
编辑sysctl配置文件:
- sudo nano /etc/sysctl.d/99-network.conf
复制代码
添加以下参数:
- # 网络栈优化
- net.core.rmem_max = 16777216
- net.core.wmem_max = 16777216
- net.ipv4.tcp_rmem = 4096 87380 16777216
- net.ipv4.tcp_wmem = 4096 65536 16777216
- net.ipv4.tcp_congestion_control = bbr
- net.ipv4.tcp_fin_timeout = 10
- net.ipv4.tcp_keepalive_time = 1200
- net.ipv4.tcp_max_syn_backlog = 65536
- net.ipv4.tcp_max_tw_buckets = 2000000
- net.ipv4.tcp_tw_reuse = 1
- net.ipv4.tcp_tw_recycle = 0
- net.ipv4.ip_local_port_range = 10000 65000
- net.ipv4.tcp_no_metrics_save = 1
- net.ipv4.tcp_moderate_rcvbuf = 1
- net.core.netdev_max_backlog = 50000
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-network.conf
复制代码
这些参数的作用:
• net.core.rmem_max和net.core.wmem_max:增加套接字接收和发送缓冲区的最大大小。
• net.ipv4.tcp_rmem和net.ipv4.tcp_wmem:调整TCP接收和发送缓冲区的大小范围。
• net.ipv4.tcp_congestion_control = bbr:使用BBR拥塞控制算法,提高网络吞吐量。
• net.ipv4.tcp_fin_timeout:减少FIN_WAIT状态的超时时间,快速释放连接。
• net.ipv4.tcp_keepalive_time:调整TCP保活时间,减少无效连接占用资源。
• net.ipv4.tcp_max_syn_backlog:增加SYN队列长度,提高处理高并发连接的能力。
• net.ipv4.tcp_max_tw_buckets:增加TIME_WAIT套接字的最大数量,支持更多并发连接。
• net.ipv4.tcp_tw_reuse:允许TIME_WAIT套接字重用,提高连接处理效率。
• net.ipv4.tcp_tw_recycle:禁用TIME_WAIT套接字快速回收,避免NAT环境下的连接问题。
• net.ipv4.ip_local_port_range:扩大本地端口范围,支持更多出站连接。
• net.ipv4.tcp_no_metrics_save:禁用TCP度量保存,避免连接性能受历史数据影响。
• net.ipv4.tcp_moderate_rcvbuf:启用TCP接收缓冲区自动调节。
• net.core.netdev_max_backlog:增加网络设备接收队列的最大长度,提高数据包处理能力。
网络缓冲区优化
网络缓冲区的大小直接影响网络吞吐量和延迟,适当调整可以显著提高网络性能。
首先,查看当前的网络缓冲区设置:
- # 查看当前设置
- sysctl net.core.rmem_default
- sysctl net.core.rmem_max
- sysctl net.core.wmem_default
- sysctl net.core.wmem_max
- sysctl net.ipv4.tcp_rmem
- sysctl net.ipv4.tcp_wmem
复制代码
然后,根据系统内存和网络条件调整缓冲区大小:
- # 编辑sysctl配置文件
- sudo nano /etc/sysctl.d/99-netbuf.conf
复制代码
添加以下参数:
- # 网络缓冲区优化
- net.core.rmem_default = 8388608
- net.core.rmem_max = 16777216
- net.core.wmem_default = 8388608
- net.core.wmem_max = 16777216
- net.ipv4.tcp_rmem = 4096 87380 16777216
- net.ipv4.tcp_wmem = 4096 65536 16777216
- net.ipv4.udp_rmem_min = 8192
- net.ipv4.udp_wmem_min = 8192
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-netbuf.conf
复制代码
这些参数的作用:
• net.core.rmem_default和net.core.wmem_default:设置默认的套接字接收和发送缓冲区大小。
• net.core.rmem_max和net.core.wmem_max:设置套接字接收和发送缓冲区的最大大小。
• net.ipv4.tcp_rmem和net.ipv4.tcp_wmem:调整TCP接收和发送缓冲区的最小、默认和最大大小。
• net.ipv4.udp_rmem_min和net.ipv4.udp_wmem_min:设置UDP接收和发送缓冲区的最小大小。
网络连接管理
优化网络连接管理可以提高系统处理高并发网络连接的能力。
编辑sysctl配置文件:
- sudo nano /etc/sysctl.d/99-conn.conf
复制代码
添加以下参数:
- # 网络连接管理优化
- net.ipv4.tcp_max_syn_backlog = 65536
- net.ipv4.tcp_syncookies = 1
- net.ipv4.tcp_max_tw_buckets = 2000000
- net.ipv4.tcp_tw_reuse = 1
- net.ipv4.tcp_tw_recycle = 0
- net.ipv4.tcp_fin_timeout = 10
- net.ipv4.tcp_keepalive_time = 1200
- net.ipv4.tcp_keepalive_intvl = 30
- net.ipv4.tcp_keepalive_probes = 3
- net.ipv4.ip_local_port_range = 10000 65000
- net.ipv4.tcp_retries2 = 5
- net.ipv4.tcp_orphan_retries = 3
- net.ipv4.tcp_abort_on_overflow = 0
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-conn.conf
复制代码
这些参数的作用:
• net.ipv4.tcp_max_syn_backlog:增加SYN队列长度,提高处理高并发连接的能力。
• net.ipv4.tcp_syncookies:启用SYN cookies,防止SYN洪水攻击。
• net.ipv4.tcp_max_tw_buckets:增加TIME_WAIT套接字的最大数量,支持更多并发连接。
• net.ipv4.tcp_tw_reuse:允许TIME_WAIT套接字重用,提高连接处理效率。
• net.ipv4.tcp_tw_recycle:禁用TIME_WAIT套接字快速回收,避免NAT环境下的连接问题。
• net.ipv4.tcp_fin_timeout:减少FIN_WAIT状态的超时时间,快速释放连接。
• net.ipv4.tcp_keepalive_time、net.ipv4.tcp_keepalive_intvl和net.ipv4.tcp_keepalive_probes:调整TCP保活参数,及时检测无效连接。
• net.ipv4.ip_local_port_range:扩大本地端口范围,支持更多出站连接。
• net.ipv4.tcp_retries2:减少TCP重试次数,快速检测失效连接。
• net.ipv4.tcp_orphan_retries:减少孤儿套接字的重试次数,快速释放资源。
• net.ipv4.tcp_abort_on_overflow:禁用连接溢出时立即中止,允许客户端重试。
服务和应用优化
系统服务管理
Void Linux使用runit作为init系统,优化服务管理可以提高系统启动速度和运行效率。
首先,查看当前运行的服务:
- # 查看所有运行的服务
- ls /var/service/
- # 查看服务状态
- sv status /var/service/*
复制代码
禁用不必要的服务:
- # 禁用服务
- sudo rm /var/service/service_name
复制代码
优化服务启动顺序和依赖关系:
- # 编辑服务依赖
- sudo nano /etc/sv/service_name/dependencies
复制代码
调整服务运行参数:
- # 编辑服务运行脚本
- sudo nano /etc/sv/service_name/run
复制代码
例如,优化sshd服务:
- #!/bin/sh
- exec 2>&1
- echo "Starting sshd with optimized settings"
- exec /usr/sbin/sshd -D -o UseDNS=no -o MaxStartups=100:30:200 -o MaxSessions=100 -o MaxAuthTries=3
复制代码
这些参数的作用:
• UseDNS=no:禁用DNS反向解析,加快连接速度。
• MaxStartups:控制并发未认证连接的最大数量。
• MaxSessions:增加每个网络连接的最大会话数。
• MaxAuthTries:限制认证尝试次数,提高安全性。
启动项优化
优化系统启动项可以显著提高Void Linux的启动速度。
首先,查看当前启动项:
- # 查看runit服务
- ls /etc/sv/
- # 查看启用的服务
- ls /var/service/
复制代码
禁用不必要的服务:
- # 禁用服务
- sudo rm /var/service/service_name
复制代码
创建自定义服务以优化启动过程:
- # 创建服务目录
- sudo mkdir /etc/sv/custom-startup
- # 创建运行脚本
- sudo nano /etc/sv/custom-startup/run
复制代码
添加以下内容:
- #!/bin/sh
- exec 2>&1
- echo "Running custom startup optimizations"
- # 优化内核参数
- sysctl -p /etc/sysctl.d/99-performance.conf
- # 优化CPU调度
- cpupower frequency-set --governor performance
- # 优化磁盘设置
- hdparm -W1 /dev/sda
- blockdev --setra 16384 /dev/sda
- # 清理临时文件
- rm -rf /tmp/*
复制代码
使脚本可执行并启用服务:
- sudo chmod +x /etc/sv/custom-startup/run
- sudo ln -s /etc/sv/custom-startup /var/service/
复制代码
应用特定优化
针对特定应用的优化可以显著提高其性能。
编辑Nginx配置文件:
- sudo nano /etc/nginx/nginx.conf
复制代码
优化Nginx配置:
- user nginx;
- worker_processes auto;
- worker_rlimit_nofile 100000;
- events {
- worker_connections 4096;
- multi_accept on;
- use epoll;
- }
- http {
- sendfile on;
- tcp_nopush on;
- tcp_nodelay on;
- keepalive_timeout 30;
- keepalive_requests 100000;
- reset_timedout_connection on;
- client_body_timeout 10;
- send_timeout 2;
-
- # Gzip compression
- gzip on;
- gzip_vary on;
- gzip_proxied any;
- gzip_comp_level 6;
- gzip_min_length 1000;
- gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
-
- # Open file cache
- open_file_cache max=200000 inactive=20s;
- open_file_cache_valid 30s;
- open_file_cache_min_uses 2;
- open_file_cache_errors on;
- }
复制代码
这些参数的作用:
• worker_processes auto:自动设置工作进程数。
• worker_rlimit_nofile:增加每个工作进程可以打开的文件描述符数量。
• worker_connections:增加每个工作进程的最大连接数。
• multi_accept on:允许一个工作进程同时接受所有新连接。
• use epoll:使用高效的epoll事件模型。
• sendfile on、tcp_nopush on和tcp_nodelay on:优化数据传输。
• keepalive_timeout和keepalive_requests:优化保持连接设置。
• reset_timedout_connection on:重置超时连接,释放资源。
• client_body_timeout和send_timeout:减少客户端和发送超时时间。
• Gzip设置:启用压缩,减少传输数据量。
• Open file cache:缓存文件元数据,提高文件访问速度。
编辑PostgreSQL配置文件:
- sudo nano /etc/postgresql/postgresql.conf
复制代码
优化PostgreSQL配置:
- # 连接设置
- max_connections = 200
- shared_buffers = 4GB
- effective_cache_size = 12GB
- work_mem = 16MB
- maintenance_work_mem = 512MB
- # 日志设置
- log_min_duration_statement = 1000
- log_checkpoints = on
- log_connections = on
- log_disconnections = on
- log_lock_waits = on
- # 检查点设置
- checkpoint_segments = 32
- checkpoint_timeout = 15min
- checkpoint_completion_target = 0.9
- # 查询优化
- random_page_cost = 1.1
- effective_io_concurrency = 200
- parallel_tuple_cost = 0.1
- parallel_setup_cost = 1000.0
- max_parallel_workers_per_gather = 4
- # 自动清理
- autovacuum = on
- autovacuum_max_workers = 6
- autovacuum_naptime = 1min
- autovacuum_vacuum_threshold = 50
- autovacuum_analyze_threshold = 50
- autovacuum_vacuum_scale_factor = 0.01
- autovacuum_analyze_scale_factor = 0.005
复制代码
这些参数的作用:
• max_connections:增加最大连接数。
• shared_buffers:增加共享缓冲区大小,提高缓存命中率。
• effective_cache_size:告诉PostgreSQL系统可用的缓存大小。
• work_mem和maintenance_work_mem:增加排序和维护操作的内存使用。
• 日志设置:优化日志记录,便于性能分析。
• 检查点设置:优化检查点行为,减少I/O峰值。
• 查询优化:调整查询优化器参数,提高查询性能。
• 自动清理:优化自动清理参数,保持数据库性能。
监控与故障排除
性能监控工具
Void Linux提供了多种性能监控工具,帮助识别性能瓶颈和系统问题。
安装基础监控工具:
- sudo xbps-install sysstat vmstat iotop htop
复制代码
使用这些工具监控系统性能:
- # CPU使用率
- mpstat 1 10
- # 内存使用情况
- free -h
- vmstat 1 10
- # 磁盘I/O
- iostat -xz 1 10
- iotop
- # 网络统计
- sar -n DEV 1 10
- netstat -s
- # 进程监控
- htop
- ps aux --sort=-%cpu | head -10
- ps aux --sort=-%mem | head -10
复制代码
安装高级监控工具:
- sudo xbps-install perf bcc-tools
复制代码
使用这些工具进行深入分析:
- # 系统调用跟踪
- strace -p <pid>
- # 性能分析
- perf top
- perf record -a -g
- perf report
- # 网络分析
- tcpdump -i any -n
- ss -tuln
- # BCC工具
- execsnoop
- opensnoop
- biolatency
复制代码
安装Prometheus和Grafana进行持续监控:
- # 安装Prometheus
- sudo xbps-install prometheus
- # 配置Prometheus
- sudo nano /etc/prometheus/prometheus.yml
复制代码
添加以下配置:
- global:
- scrape_interval: 15s
- scrape_configs:
- - job_name: 'prometheus'
- static_configs:
- - targets: ['localhost:9090']
- - job_name: 'node'
- static_configs:
- - targets: ['localhost:9100']
复制代码
安装Node Exporter:
- sudo xbps-install prometheus-node-exporter
复制代码
启用服务:
- sudo ln -s /etc/sv/prometheus /var/service/
- sudo ln -s /etc/sv/prometheus-node-exporter /var/service/
复制代码
安装Grafana:
- sudo xbps-install grafana
- sudo ln -s /etc/sv/grafana /var/service/
复制代码
配置Grafana数据源和仪表板,创建系统性能监控面板。
性能瓶颈分析
识别和分析性能瓶颈是系统优化的关键步骤。
使用以下工具分析CPU瓶颈:
- # 查看CPU使用情况
- top
- htop
- mpstat -P ALL 1 10
- # 分析CPU调度
- perf sched record
- perf sched latency
- perf sched map
- # 分析系统调用
- perf stat -p <pid>
- perf trace -p <pid>
复制代码
常见的CPU瓶颈和解决方案:
1. 高用户空间CPU使用率:识别CPU密集型进程优化应用程序代码考虑并行化处理
2. 识别CPU密集型进程
3. 优化应用程序代码
4. 考虑并行化处理
5. 高系统空间CPU使用率:检查系统调用频率优化内核参数考虑使用更高效的系统调用
6. 检查系统调用频率
7. 优化内核参数
8. 考虑使用更高效的系统调用
9. 高I/O等待:优化存储系统增加缓存使用更快的存储设备
10. 优化存储系统
11. 增加缓存
12. 使用更快的存储设备
13. 上下文切换频繁:减少进程/线程数量调整CPU调度器参数使用CPU亲和性绑定
14. 减少进程/线程数量
15. 调整CPU调度器参数
16. 使用CPU亲和性绑定
高用户空间CPU使用率:
• 识别CPU密集型进程
• 优化应用程序代码
• 考虑并行化处理
高系统空间CPU使用率:
• 检查系统调用频率
• 优化内核参数
• 考虑使用更高效的系统调用
高I/O等待:
• 优化存储系统
• 增加缓存
• 使用更快的存储设备
上下文切换频繁:
• 减少进程/线程数量
• 调整CPU调度器参数
• 使用CPU亲和性绑定
使用以下工具分析内存瓶颈:
- # 查看内存使用情况
- free -h
- vmstat 1 10
- # 分析内存分配
- slabtop
- cat /proc/slabinfo
- # 分析页面错误
- perf stat -e page-faults -p <pid>
复制代码
常见的内存瓶颈和解决方案:
1. 内存不足:增加物理内存优化应用程序内存使用调整虚拟内存参数
2. 增加物理内存
3. 优化应用程序内存使用
4. 调整虚拟内存参数
5. 内存碎片:优化内存分配策略考虑使用大页面定期重启应用程序
6. 优化内存分配策略
7. 考虑使用大页面
8. 定期重启应用程序
9. 缓存不足:增加文件系统缓存优化应用程序缓存策略考虑使用内存数据库
10. 增加文件系统缓存
11. 优化应用程序缓存策略
12. 考虑使用内存数据库
13. 内存泄漏:使用内存分析工具识别泄漏修复应用程序代码定期重启应用程序
14. 使用内存分析工具识别泄漏
15. 修复应用程序代码
16. 定期重启应用程序
内存不足:
• 增加物理内存
• 优化应用程序内存使用
• 调整虚拟内存参数
内存碎片:
• 优化内存分配策略
• 考虑使用大页面
• 定期重启应用程序
缓存不足:
• 增加文件系统缓存
• 优化应用程序缓存策略
• 考虑使用内存数据库
内存泄漏:
• 使用内存分析工具识别泄漏
• 修复应用程序代码
• 定期重启应用程序
使用以下工具分析I/O瓶颈:
- # 查看磁盘I/O
- iostat -xz 1 10
- iotop
- # 分析块设备I/O
- iowatcher
- btrace
- # 分析文件系统操作
- perf stat -e syscalls:sys_enter_* -p <pid>
复制代码
常见的I/O瓶颈和解决方案:
1. 磁盘I/O饱和:使用更快的存储设备优化文件系统选择调整I/O调度器
2. 使用更快的存储设备
3. 优化文件系统选择
4. 调整I/O调度器
5. 文件系统性能问题:优化文件系统参数考虑使用不同的文件系统定期进行碎片整理
6. 优化文件系统参数
7. 考虑使用不同的文件系统
8. 定期进行碎片整理
9. 网络I/O瓶颈:优化网络参数增加网络带宽使用更高效的网络协议
10. 优化网络参数
11. 增加网络带宽
12. 使用更高效的网络协议
13. 应用程序I/O模式问题:优化应用程序I/O操作使用异步I/O增加缓冲区大小
14. 优化应用程序I/O操作
15. 使用异步I/O
16. 增加缓冲区大小
磁盘I/O饱和:
• 使用更快的存储设备
• 优化文件系统选择
• 调整I/O调度器
文件系统性能问题:
• 优化文件系统参数
• 考虑使用不同的文件系统
• 定期进行碎片整理
网络I/O瓶颈:
• 优化网络参数
• 增加网络带宽
• 使用更高效的网络协议
应用程序I/O模式问题:
• 优化应用程序I/O操作
• 使用异步I/O
• 增加缓冲区大小
常见问题解决方案
Void Linux系统优化过程中可能遇到一些常见问题,以下是解决方案:
问题:系统启动时间过长。
解决方案:
- # 检查启动服务
- ls /var/service/
- sv status /var/service/*
- # 禁用不必要的服务
- sudo rm /var/service/unneeded_service
- # 优化服务启动顺序
- sudo nano /etc/sv/service_name/dependencies
- # 检查服务启动时间
- time sv start service_name
复制代码
问题:系统CPU使用率持续过高。
解决方案:
- # 识别CPU密集型进程
- top
- htop
- ps aux --sort=-%cpu | head -10
- # 分析进程系统调用
- strace -p <pid>
- perf top -p <pid>
- # 调整CPU调度器参数
- sudo nano /etc/sysctl.d/99-cpu.conf
复制代码
问题:系统内存不足,频繁使用交换空间。
解决方案:
- # 检查内存使用情况
- free -h
- vmstat 1 10
- # 识别内存密集型进程
- ps aux --sort=-%mem | head -10
- # 调整虚拟内存参数
- sudo nano /etc/sysctl.d/99-vm.conf
- # 增加交换空间
- sudo fallocate -l 2G /swapfile
- sudo mkswap /swapfile
- sudo swapon /swapfile
复制代码
问题:磁盘I/O性能差,系统响应缓慢。
解决方案:
- # 检查磁盘I/O
- iostat -xz 1 10
- iotop
- # 调整I/O调度器
- echo deadline > /sys/block/sda/queue/scheduler
- # 优化文件系统参数
- sudo nano /etc/fstab
- # 检查磁盘健康
- sudo xbps-install smartmontools
- sudo smartctl -a /dev/sda
复制代码
问题:网络吞吐量低,延迟高。
解决方案:
- # 检查网络连接
- netstat -s
- ss -tuln
- # 调整网络参数
- sudo nano /etc/sysctl.d/99-network.conf
- # 测试网络性能
- ping -c 10 target_host
- iperf3 -c target_host
- # 检查网络硬件
- ethtool eth0
复制代码
高级调优技术
实时系统优化
Void Linux可以通过配置实时内核和参数来优化实时性能。
首先,安装实时内核:
- # 安装实时内核
- sudo xbps-install linux-lts
- # 配置GRUB以使用实时内核
- sudo nano /etc/default/grub
复制代码
修改GRUB配置:
- GRUB_DEFAULT=0
- GRUB_TIMEOUT=5
- GRUB_DISTRIBUTOR="Void"
- GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4 quiet isolcpus=1,3 nohz_full=1,3 rcu_nocbs=1,3"
复制代码
更新GRUB配置:
配置实时参数:
- # 编辑sysctl配置文件
- sudo nano /etc/sysctl.d/99-rt.conf
复制代码
添加以下参数:
- # 实时系统优化
- kernel.sched_rt_runtime_us = -1
- kernel.sched_rt_period_us = 1000000
- kernel.sched_rr_timeslice_ms = 100
- vm.stat_interval = 60
- kernel.hung_task_timeout_secs = 600
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-rt.conf
复制代码
设置CPU亲和性和优先级:
- # 安装taskset工具
- sudo xbps-install util-linux
- # 设置进程CPU亲和性
- taskset -c 1,3 your_realtime_application
- # 设置进程优先级
- chrt -f 50 your_realtime_application
复制代码
这些参数的作用:
• isolcpus:隔离CPU核心,避免普通任务干扰实时任务。
• nohz_full:减少定时器中断,提高实时性能。
• rcu_nocbs:将RCU回调移到专用核心,减少干扰。
• kernel.sched_rt_runtime_us和kernel.sched_rt_period_us:配置实时调度器参数。
• kernel.sched_rr_timeslice_ms:设置轮转调度时间片。
• vm.stat_interval:减少VM统计更新频率。
• kernel.hung_task_timeout_secs:增加挂起任务检测超时时间。
容器化环境优化
Void Linux在容器化环境中运行时,需要进行特定的优化。
首先,安装容器运行时:
- # 安装Docker
- sudo xbps-install docker
- sudo ln -s /etc/sv/docker /var/service/
- # 安装Podman
- sudo xbps-install podman
复制代码
优化容器运行时配置:
- # 编辑Docker配置文件
- sudo nano /etc/docker/daemon.json
复制代码
添加以下配置:
- {
- "storage-driver": "overlay2",
- "storage-opts": [
- "overlay2.override_kernel_check=true",
- "overlay2.size=20G"
- ],
- "log-driver": "json-file",
- "log-opts": {
- "max-size": "10m",
- "max-file": "3"
- },
- "default-ulimits": {
- "nofile": {
- "Name": "nofile",
- "Hard": 65536,
- "Soft": 65536
- }
- },
- "default-shm-size": "128M",
- "icc": false,
- "userland-proxy": false,
- "live-restore": true
- }
复制代码
重启Docker服务:
优化容器资源限制:
- # 创建资源限制的容器
- docker run --cpuset-cpus=0,1 --memory=4g --memory-swap=4g --pids-limit=1000 your_image
- # 使用cgroups直接控制资源
- sudo cgcreate -g cpu,memory,pids:/container_limit
- sudo cgset -r cpu.cfs_quota_us=50000 -r cpu.cfs_period_us=100000 -r memory.limit_in_bytes=4g -r pids.max=1000 container_limit
- sudo cgexec -g cpu,memory,pids:container_limit your_command
复制代码
优化容器网络性能:
- # 创建自定义网络
- docker network create --opt com.docker.network.driver.mtu=9000 --opt com.docker.network.driver.name=macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 my_network
- # 运行容器时指定网络
- docker run --network=my_network your_image
复制代码
云环境特定优化
Void Linux在云环境中运行时,需要进行特定的优化。
在AWS上运行Void Linux时,可以考虑以下优化:
- # 安装AWS工具
- sudo xbps-install aws-cli
- # 配置AWS CLI
- aws configure
- # 优化EBS卷性能
- sudo nano /etc/sysctl.d/99-ebs.conf
复制代码
添加以下参数:
- # EBS优化
- vm.dirty_ratio = 10
- vm.dirty_background_ratio = 5
- vm.dirty_expire_centisecs = 500
- vm.dirty_writeback_centisecs = 100
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-ebs.conf
复制代码
优化EBS卷挂载选项:
- # 编辑/etc/fstab文件
- sudo nano /etc/fstab
复制代码
修改挂载选项:
- /dev/xvdf /data ext4 defaults,noatime,nodiratime,nobarrier,data=writeback 0 2
复制代码
在Google Cloud上运行Void Linux时,可以考虑以下优化:
- # 安装Google Cloud工具
- sudo xbps-install google-cloud-sdk
- # 配置Google Cloud SDK
- gcloud init
- # 优化持久磁盘性能
- sudo nano /etc/sysctl.d/99-gce.conf
复制代码
添加以下参数:
- # GCE优化
- vm.dirty_ratio = 10
- vm.dirty_background_ratio = 5
- vm.dirty_expire_centisecs = 500
- vm.dirty_writeback_centisecs = 100
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-gce.conf
复制代码
优化持久磁盘挂载选项:
- # 编辑/etc/fstab文件
- sudo nano /etc/fstab
复制代码
修改挂载选项:
- /dev/sdb /data ext4 defaults,noatime,nodiratime,nobarrier,data=writeback 0 2
复制代码
在Azure上运行Void Linux时,可以考虑以下优化:
- # 安装Azure工具
- sudo xbps-install azure-cli
- # 配置Azure CLI
- az login
- # 优化Azure磁盘性能
- sudo nano /etc/sysctl.d/99-azure.conf
复制代码
添加以下参数:
- # Azure优化
- vm.dirty_ratio = 10
- vm.dirty_background_ratio = 5
- vm.dirty_expire_centisecs = 500
- vm.dirty_writeback_centisecs = 100
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-azure.conf
复制代码
优化Azure磁盘挂载选项:
- # 编辑/etc/fstab文件
- sudo nano /etc/fstab
复制代码
修改挂载选项:
- /dev/sdc /data ext4 defaults,noatime,nodiratime,nobarrier,data=writeback 0 2
复制代码
总结与最佳实践
Void Linux性能调优是一个系统性的过程,需要综合考虑硬件特性、工作负载需求和系统配置。通过本文介绍的各种优化技术,您可以显著提高Void Linux系统的性能和稳定性。
性能调优最佳实践
1. 基准测试:在进行任何优化之前,先建立性能基准,以便评估优化效果。
- # 安装基准测试工具
- sudo xbps-install sysbench fio iperf3
- # CPU基准测试
- sysbench cpu --cpu-max-prime=20000 run
- # 内存基准测试
- sysbench memory --memory-block-size=1K --memory-total-size=10G run
- # 磁盘I/O基准测试
- fio --name=randwrite --ioengine=libaio --iodepth=16 --rw=randwrite --bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 --group_reporting
- # 网络基准测试
- iperf3 -s
- iperf3 -c server_ip
复制代码
1. 渐进式优化:一次只进行一项优化,然后测试效果,避免同时进行多项更改导致问题难以追踪。
2. 文档记录:详细记录所有优化步骤和参数更改,便于后续维护和故障排除。
3. 监控持续进行:建立持续监控系统,及时发现性能问题。
渐进式优化:一次只进行一项优化,然后测试效果,避免同时进行多项更改导致问题难以追踪。
文档记录:详细记录所有优化步骤和参数更改,便于后续维护和故障排除。
监控持续进行:建立持续监控系统,及时发现性能问题。
- # 安装监控工具
- sudo xbps-install prometheus prometheus-node-exporter grafana
- # 配置监控服务
- sudo ln -s /etc/sv/prometheus /var/service/
- sudo ln -s /etc/sv/prometheus-node-exporter /var/service/
- sudo ln -s /etc/sv/grafana /var/service/
复制代码
1. 定期评估:定期评估系统性能,根据工作负载变化调整优化策略。
常见优化场景
对于Web服务器,重点关注网络性能和并发处理能力:
- # 网络参数优化
- sudo nano /etc/sysctl.d/99-webserver.conf
复制代码
添加以下参数:
- # Web服务器优化
- net.core.rmem_max = 16777216
- net.core.wmem_max = 16777216
- net.ipv4.tcp_rmem = 4096 87380 16777216
- net.ipv4.tcp_wmem = 4096 65536 16777216
- net.ipv4.tcp_congestion_control = bbr
- net.ipv4.tcp_max_syn_backlog = 65536
- net.ipv4.tcp_tw_reuse = 1
- net.ipv4.ip_local_port_range = 10000 65000
- net.core.netdev_max_backlog = 50000
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-webserver.conf
复制代码
对于数据库服务器,重点关注I/O性能和内存管理:
- # I/O和内存优化
- sudo nano /etc/sysctl.d/99-database.conf
复制代码
添加以下参数:
- # 数据库服务器优化
- vm.swappiness = 1
- vm.dirty_ratio = 15
- vm.dirty_background_ratio = 5
- vm.dirty_expire_centisecs = 500
- vm.dirty_writeback_centisecs = 100
- vm.vfs_cache_pressure = 50
- vm.zone_reclaim_mode = 0
- vm.max_map_count = 262144
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-database.conf
复制代码
对于桌面系统,重点关注响应速度和用户体验:
- # 桌面系统优化
- sudo nano /etc/sysctl.d/99-desktop.conf
复制代码
添加以下参数:
- # 桌面系统优化
- vm.swappiness = 10
- vm.vfs_cache_pressure = 50
- kernel.sched_min_granularity_ns = 10000000
- kernel.sched_wakeup_granularity_ns = 15000000
- kernel.sched_migration_cost_ns = 5000000
复制代码
应用这些更改:
- sudo sysctl -p /etc/sysctl.d/99-desktop.conf
复制代码
性能调优注意事项
1. 安全性与性能的平衡:某些性能优化可能会降低系统安全性,需要根据实际情况权衡。
2. 稳定性优先:不要为了追求极致性能而牺牲系统稳定性,特别是在生产环境中。
3. 硬件限制:了解硬件限制,不要期望通过软件优化突破硬件瓶颈。
4. 工作负载特性:根据实际工作负载特性选择优化策略,不同的工作负载需要不同的优化方法。
5. 测试验证:所有优化更改都应该在测试环境中验证,确认没有负面影响后再应用到生产环境。
安全性与性能的平衡:某些性能优化可能会降低系统安全性,需要根据实际情况权衡。
稳定性优先:不要为了追求极致性能而牺牲系统稳定性,特别是在生产环境中。
硬件限制:了解硬件限制,不要期望通过软件优化突破硬件瓶颈。
工作负载特性:根据实际工作负载特性选择优化策略,不同的工作负载需要不同的优化方法。
测试验证:所有优化更改都应该在测试环境中验证,确认没有负面影响后再应用到生产环境。
通过遵循这些最佳实践和注意事项,您可以有效地优化Void Linux系统,实现高性能和稳定性的平衡,满足各种应用场景的需求。
版权声明
1、转载或引用本网站内容(Void Linux性能调优全攻略 打造高效稳定系统的专业配置指南)须注明原网址及作者(威震华夏关云长),并标明本网站网址(https://www.pixtech.cc/)。
2、对于不当转载或引用本网站内容而引起的民事纷争、行政处理或其他损失,本网站不承担责任。
3、对不遵守本声明或其他违法、恶意使用本网站内容者,本网站保留追究其法律责任的权利。
本文地址: https://www.pixtech.cc/thread-34734-1-1.html
|
|