-
Notifications
You must be signed in to change notification settings - Fork 0
Files
/
Copy pathtuning_params_all.csv
Latest commit
402 lines (399 loc) · 77.9 KB
/
tuning_params_all.csv
1 | Category | name (Parameter to be adjusted) | desc (Parameter description) | get (Command for querying parameter values.) | set (Command for setting parameter values) | needrestart(Whether require restart or not) | type (discrete/continuous) | options (For the discrete type, use";"to split different values.) | dtype (For discrete, the parameter value type can only be int or string.) | scope (Minimum value of the parameter) | scope (Maximum Value of the parameter) | step (Step of the parameter value) | items (Enumerated values out of parameter values. Use ";" to split different values) | select (whether to select the parameter) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | Kernel scheduling parameters | kernel.sched_migration_cost_ns | This variable is used to determine whether a process is still hot. If the running time of a process is shorter than the value of this variable, the kernel considers that the code of the process is still in the cache. Therefore, the process is still hot and is not considered during migration. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 100000 | 5000000 | 100000 | yes | |||
3 | kernel.sched_cfs_bandwidth_slice_us | Fixed size of the time slice applied for from the global time pool | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1000 | 50000 | 1000 | yes | ||||
4 | kernel.sched_wakeup_granularity_ns | This variable indicates the base of the minimum time that a process should run after it is woken up. The smaller the base, the higher the probability of preemption. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1000000 | 100000000 | 1000000 | yes | ||||
5 | kernel.sched_latency_ns | Maximum running time of a running process. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1000000 | 100000000 | 1000000 | yes | ||||
6 | kernel.sched_nr_migrate | How Many Processes Can Be Moved to Another CPU at a Time When Load Balancing Is Performed in the Case of Multiple CPUs? | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1 | 128 | 1 | yes | ||||
7 | kernel.sched_min_granularity_ns | Minimum running time of a process on the CPU. During this time, the kernel does not proactively select other processes for scheduling (in nanoseconds). | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1000000 | 100000000 | 1000000 | yes | ||||
8 | kernel.sched_tunable_scaling | Update method used when the kernel attempts to adjust the values of sched_min_granularity, sched_latency, and sched_wakeup_granularity. The value 0 indicates that the value is not adjusted, and the value 1 indicates that the value is adjusted based on the number of CPUs, 2: The linear proportion is adjusted based on the number of CPUs. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1; 2 | string | yes | ||||||
9 | Network adapter parameters | transparent_hugepage.defrag | Enabling or Disabling Transparent Hugepages | cat /sys/kernel/mm/transparent_hugepage/defrag | sed -n 's/.*\[\(.*\)\].*/\1/p' | echo $value > /sys/kernel/mm/transparent_hugepage/defrag | FALSE | discrete | always;defer;defer+madvise;madvise;never | string | yes | |||||
10 | transparent_hugepage.enabled | Enabling or Disabling Transparent Hugepages | cat /sys/kernel/mm/transparent_hugepage/enabled | sed -n 's/.*\[\(.*\)\].*/\1/p' | echo $value > /sys/kernel/mm/transparent_hugepage/enabled | FALSE | discrete | always; madvise; never | string | yes | ||||||
11 | net.netfilter.nf_conntrack_max | Maximum number of tracing connections When a container is used, the nf_conntrack module cannot be disabled. Therefore, kernel parameters related to nf_conntrack need to be added to the /etc/sysctl.conf file to prevent packet loss caused by full table records. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 67108864 | 1 | yes | ||||
12 | net.mtu | Indicates the maximum transmission unit of the network, | ifconfig @netdev | grep mtu | awk '{print $4}' | ifconfig @netdev mtu $value | FALSE | discrete | int | 500 | 9000 | 500 | yes | ||||
13 | net.tx-frames | Configuring NIC Interrupt Combination | ethtool -c @netdev | grep tx-frames: | awk '{print $2}' | ethtool -C @netdev tx-frames $value | FALSE | discrete | int | 0 | 64 | 2 | yes | ||||
14 | net.rx-frames | Configuring NIC Interrupt Combination | ethtool -c @netdev | grep rx-frames: | awk '{print $2}' | ethtool -C @netdev rx-frames $value | FALSE | discrete | int | 0 | 64 | 2 | yes | ||||
15 | net.tx-usecs | Configuring NIC Interrupt Combination | ethtool -c @netdev | grep tx-usecs: | awk '{print $2}' | ethtool -C @netdev tx-usecs $value | FALSE | discrete | int | 2 | 64 | 2 | yes | ||||
16 | net.rx-usecs | Configuring NIC Interrupt Combination | ethtool -c @netdev | grep rx-usecs: | awk '{print $2}' | ethtool -C @netdev rx-usecs $value | FALSE | discrete | int | 2 | 64 | 2 | yes | ||||
17 | net.combined | Set the length and number of NIC queues. | ethtool -l @netdev | grep Combined | awk '{print $2}' | tail -n 1 | ethtool -L @netdev combined $value | FALSE | discrete | int | 1 | 32 | 1 | yes | ||||
18 | net.adaptive-rx | Sets whether to enable interrupt combination auto-sensing for a NIC. | ethtool -c @netdev | grep Adaptive | awk '{print $3}' | ethtool -C @netdev adaptive-rx $value | FALSE | discrete | on; off | string | yes | ||||||
19 | net.adaptive-tx | Sets whether to enable interrupt combination auto-sensing for a NIC. | ethtool -c @netdev | grep Adaptive | awk '{print $5}' | ethtool -C @netdev adaptive-tx $value | FALSE | discrete | on; off | string | yes | ||||||
20 | net.tx-ring buffer size | Indicates the ring buffer size of the NIC. | ethtool -g @netdev | tail -n 2 | head -n 1 | awk '{print $2}' | ethtool -G @netdev tx $value | FALSE | discrete | int | 256 | 16384 | 256 | yes | ||||
21 | net.rx-ring buffer size | Indicates the ring buffer size of the NIC. | ethtool -g @netdev | tail -n 5 | head -n 1 | awk '{print $2}' | ethtool -G @netdev rx $value | FALSE | discrete | int | 256 | 16384 | 256 | yes | ||||
22 | net.generic-receive-offload | Whether reassembling small packets into larger ones | ethtool -k @netdev | grep "generic-receive-offload" | awk '{print $2}' | ethtool -K @netdev gro $value | FALSE | discrete | on;off | string | yes | ||||||
23 | net.generic-segmentation-offload | Whether reassembling small packets into larger ones | ethtool -k @netdev | grep "generic-segmentation-offload" | awk '{print $2}' | ethtool -K @netdev gso $value | FALSE | discrete | on;off | string | yes | ||||||
24 | net.tcp-segmentation-offload | Wheth allow a device to segment a single frame into multiple frames with a data payload size specified in skb_shinfo()->gso_size. | ethtool -k @netdev | grep "tcp-segmentation-offload" | awk '{print $2}' | ethtool -K @netdev tso $value | FALSE | discrete | on;off | string | yes | ||||||
25 | sunrpc.tcp_slot_table_entries | The Linux NFS client controls the number of concurrent NFS requests. If this parameter is set to a small value, the I/O performance is poor. By default, the maximum value of this parameter for the compiled kernel is 256. You can increase the value of this parameter to achieve better performance. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 4 | 256 | 4 | no | ||||
26 | sunrpc.udp_slot_table_entries | The Linux NFS client controls the number of concurrent NFS requests. If this parameter is set to a small value, the I/O performance is poor. By default, the maximum value of this parameter for the compiled kernel is 256. You can increase the value of this parameter to achieve better performance. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 4 | 256 | 4 | no | ||||
27 | Kernel resource parameters | kernel.pid_max | Maximum process ID. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1048576 | 4194304 | 1048576 | yes | |||
28 | kernel.shmmni | Maximum number of shared memory segments in the system. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1024 | 16384 | 1024 | yes | ||||
29 | kernel.shmmax | The maximum size, in bytes, of the shared memory segment allowed by the system. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 17179869184 | 68719476736 | 17179869184 | yes | ||||
30 | kernel.shmall | The total amount of shared memory available on the system in bytes | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1073741824 | 8589934592 | 1073741824 | yes | ||||
31 | kernel.core_uses_pid | Whether to add the application pid to the core file name as an extension. 0: no 1: add | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
32 | kernel.msgmni | System Message Queue Length | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 8000 | 128000 | 8000 | yes | ||||
33 | kernel.msgmax | Maximum number of bytes of a single message in a message queue. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 4096 | 1048576 | 4096 | yes | ||||
34 | kernel.msgmnb | Maximum length of bytes in a single message queue | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 4096 | 1048576 | 4096 | yes | ||||
35 | kernel.sem | The file contains four values: 1. Maximum number of signals of the same type (semmsl) 2. Maximum number of signals in the system, =semmni*semmsl (semmns) 3. Maximum number of operations (maximum number of semaphores that can be invoked) contained in each system invoking (semopm) 4. Maximum number of signal types in the system. A signal identifier represents a type (semmni). | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 16000 512000000 256 16000;32000 1024000000 500 32000;64000 2048000000 1000 64000 | string | yes | ||||||
36 | kernel.hung_task_timeout_secs | Timeout interval of a hung_task (in seconds). When a process is in the TASK_UNINTERRUPTIBLE state for a period longer than the timeout interval, a hung_task occurs. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 30 | 1200 | 30 | yes | ||||
37 | kernel.nmi_watchdog | Enabling nmi_watchdog 0: disabled 1: enabled | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
38 | kernel.sched_rt_runtime_us | This parameter, together with sched_rt_period, determines the period of the real-time process. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 950000 | 1000000 | 10000 | yes | ||||
39 | kernel.timer_migration | Disable Clock Migration | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
40 | kernel.threads-max | Maximum number of processes (including threads) in the system | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 655360 | 65536000 | 655360 | yes | ||||
41 | kernel.sysrq | The file specifies a non-zero value, which activates the sysrq key on the keyboard. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
42 | kernel.sched_autogroup_enabled | When enabled, the kernel creates task groups to optimize desktop program scheduling. 0: disabled 1: enabled | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
43 | kernel.numa_balancing | Specifies whether to enable NUMA automatic balancing. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
44 | kernel.randomize_va_space | Setting Memory Address Randomization | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 2 | 1 | yes | ||||
45 | kernel.dmesg_restrict | Which users are restricted from viewing syslogs? 0: no restriction 1: Only privileged users can view the information. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0;1 | string | yes | ||||||
46 | Virtual memory and buffer/cache parameters | vm.swappiness | A larger value indicates that the swap partition is used more actively. A smaller value indicates that the memory is used more actively. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 100 | 1 | yes | |||
47 | vm.vfs_cache_pressure | Indicates the tendency of the kernel to reclaim the memory used for directory and inode cache. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 500 | 50 | yes | ||||
48 | vm.dirty_background_ratio | When the percentage of dirty pages reaches dirty_background_ratio, the write function wakes up the flusher thread of the kernel to write back dirty page data until the percentage is less than the value of dirty_background_ratio. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 100 | 1 | yes | ||||
49 | vm.dirty_ratio | The percentage of dirty data in the memory cannot exceed this value. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 100 | 1 | yes | ||||
50 | vm.stat_interval | VM information update frequency (in seconds) | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1 | 100 | 1 | yes | ||||
51 | vm.dirty_expire_centisecs | Expiration time of dirty data. When the flusher thread of the kernel is woken up after the expiration time, dirty data is written back to the disk. The unit is 1% second. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 100 | 1000 | 100 | yes | ||||
52 | vm.dirty_writeback_centisecs | Sets the interval for waking up the flusher kernel thread. This thread is used to write dirty pages back to the disk. The unit is 1% second. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 100 | 1000 | 100 | yes | ||||
53 | vm.overcommit_ratio | When overcommit_memory is set to 2, the percentage of physical RAM that is considered is set. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 100 | 10 | yes | ||||
54 | vm.overcommit_memory | Indicates whether to allow excessive memory allocation. The process can allocate more memory than it actually uses. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
55 | vm.min_free_kbytes | Size of memory reserved in each memory area, in KB. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 10240 | 1024000 | 10240 | yes | ||||
56 | vm.page-cluster | Number of pages written to the swap partition each time. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 8 | 1 | yes | ||||
57 | vm.max_map_count | Defines the maximum memory area that a process can have. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 100000 | 10000000 | 100000 | yes | ||||
58 | vm.zone_reclaim_mode | This parameter is valid only when CONFIG_NUMA is enabled. zone_reclaim_mode is used to control how to reclaim memory when the memory domain OOM is enabled. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1; 2; 4 | string | yes | ||||||
59 | vm.watermark_scale_factor | Controls the radical degree of the kswapd process, that is, how much memory needs to be released for the system (NUMA node) from wakeup to hibernation. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 10 | 1000 | 10 | yes | ||||
60 | vm.numa_stat | This command is used to set the data statistics during NUMA running. When the memory is insufficient, this command can be set to 0 to reduce the statistics precision. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
61 | vm.drop_caches | Releases the cache. The cache is released each time the parameter is modified. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 1; 2; 3 | string | yes | ||||||
62 | File system parameters | fs.inotify.max_user_watches | Sets the number of processes for each user to run the inotifywait or inotifywatch command. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 4096 | 819200 | 4096 | yes | |||
63 | fs.nr_open | Maximum number of file handles that can be concurrently opened by a process | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 10240 | 1024000 | 10240 | yes | ||||
64 | fs.file-max | Number of file handles that can be opened by all processes in the system at the same time | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 102400 | 10240000 | 102400 | yes | ||||
65 | fs.aio-max-nr | Maximum number of AIO requests | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 102400 | 10240000 | 102400 | yes | ||||
66 | fs.inotify.max_user_instances | Maximum number of inotify instances that can be started by each user | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 64 | 65535 | 64 | yes | ||||
67 | fs.suid_dumpable | This value can be used to query and set the core dump mode for setuid or otherwise protected/tainted binaries. 0: default 1: debug 2: suidsafe | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 2 | 1 | yes | ||||
68 | Block storage device parameters | blockdev | Disk prefetch settings | /sbin/blockdev --getra /dev/@block | /sbin/blockdev --setra $value /dev/@block | FALSE | discrete | int | 0 | 2147483648 | 8 | yes | |||
69 | block.low_latency | Enables (1) or disables (0) the low latency mode | cat /sys/block/@block/queue/iosched/low_latency | echo $value > /sys/block/@block/queue/iosched/low_latency | FALSE | discrete | 0;1 | string | no | ||||||
70 | block.fifo_batch | This parameter is valid only for the Deadline scheduling policy. The number of read or write operations issued in a single batch. The default value is 16. The higher the value, the higher the throughput, but also increases the latency. | cat /sys/block/@block/queue/iosched/fifo_batch | echo $value > /sys/block/@block/queue/iosched/fifo_batch | FALSE | discrete | int | 1 | 128 | 1 | yes | ||||
71 | block.front_merges | This parameter is valid only for the Deadline scheduling policy. When a new request enters the queue, it can be merged if the requested sector is close to the current sector. The merge can be backward or forward. In some scenarios, forward merging is unnecessary. In this case, you can set this parameter to disable forward merging. By default, the deadline supports forward merging. If this parameter is set to 0, forward merging is disabled. | cat /sys/block/@block/queue/iosched/front_merges | echo $value > /sys/block/@block/queue/iosched/front_merges | FALSE | discrete | 0;1 | string | yes | ||||||
72 | block.read_expire | This parameter is valid only for the Deadline scheduling policy. This parameter specifies the expiration time of a read request, in milliseconds. | cat /sys/block/@block/queue/iosched/read_expire | echo $value > /sys/block/@block/queue/iosched/read_expire | FALSE | discrete | int | 100 | 1000 | 100 | yes | ||||
73 | block.write_expire | This parameter is valid only for the Deadline scheduling policy. This parameter specifies the expiration time of a write request, in milliseconds. | cat /sys/block/@block/queue/iosched/write_expire | echo $value > /sys/block/@block/queue/iosched/write_expire | FALSE | discrete | int | 1000 | 5000 | 10000 | no | ||||
74 | block.writes_starved | This parameter is valid only for the Deadline scheduling policy. This parameter specifies the number of read requests that can be sent after the read and write queues are not empty. A larger value indicates a higher priority for read batch processing. | cat /sys/block/@block/queue/iosched/writes_starved | echo $value > /sys/block/@block/queue/iosched/writes_starved | FALSE | discrete | int | 1 | 10 | 1 | yes | ||||
75 | block.back_seek_max | This parameter is valid only for the CFQ/BFQ scheduling policy. Maximum range of backward addressing for the head | cat /sys/block/@block/queue/iosched/back_seek_max | echo $value > /sys/block/@block/queue/iosched/back_seek_max | FALSE | discrete | int | 4096 | 1048576 | 4096 | no | ||||
76 | block.back_seek_penalty | This parameter is valid only for the CFQ/BFQ scheduling policy. Penalty coefficient for backward addressing. This value is compared with forward addressing. The preceding two parameters are set to prevent slow addressing caused by head seek jitter. | cat /sys/block/@block/queue/iosched/back_seek_penalty | echo $value > /sys/block/@block/queue/iosched/back_seek_penalty | FALSE | discrete | int | 1 | 16 | 1 | no | ||||
77 | block.fifo_expire_async | This parameter is valid only for the CFQ/BFQ scheduling policy. Sets the timeout period of an asynchronous request. Synchronous requests and asynchronous requests are processed in different queues. During scheduling, the cfq process processes synchronous requests first and then asynchronous requests unless the asynchronous requests meet the preceding conditions. | cat /sys/block/@block/queue/iosched/fifo_expire_async | echo $value > /sys/block/@block/queue/iosched/fifo_expire_async | FALSE | discrete | int | 50 | 1000 | 50 | no | ||||
78 | block.fifo_expire_sync | This parameter is valid only for the CFQ/BFQ scheduling policy. Set the timeout period of the synchronization request. | cat /sys/block/@block/queue/iosched/fifo_expire_sync | echo $value > /sys/block/@block/queue/iosched/fifo_expire_sync | FALSE | discrete | int | 25 | 500 | 25 | no | ||||
79 | block.timeout_sync | This parameter is valid only for the CFQ/BFQ scheduling policy. The maximum time allocated to a device. When the addressing time of a device is long, increasing the time can improve the throughput. | cat /sys/block/@block/queue/iosched/timeout_sync | echo $value > /sys/block/@block/queue/iosched/timeout_sync | FALSE | discrete | int | 16 | 1024 | 16 | no | ||||
80 | block.max_budget | This parameter is valid only for the CFQ/BFQ scheduling policy. Maximum number of queue services that can be allocated to a queue | cat /sys/block/@block/queue/iosched/max_budget | echo $value > /sys/block/@block/queue/iosched/max_budget | FALSE | discrete | int | 0 | 0 | 0 | no | ||||
81 | block.slice_idle | This parameter is valid only for the CFQ/BFQ scheduling policy. A wait time is set. This allows the cfq to wait for a period of time before switching the cfq_queue or service tree to improve the throughput of the HDD. | cat /sys/block/@block/queue/iosched/slice_idle | echo $value > /sys/block/@block/queue/iosched/slice_idle | FALSE | discrete | int | 0 | 16 | 2 | no | ||||
82 | block.slice_idle_us | This parameter is valid only for the CFQ/BFQ scheduling policy. Waiting time, in microseconds. | cat /sys/block/@block/queue/iosched/slice_idle_us | echo $value > /sys/block/@block/queue/iosched/slice_idle_us | FALSE | discrete | int | 1000 | 16000 | 1000 | no | ||||
83 | block.strict_guarantees | This parameter is valid only for the CFQ/BFQ scheduling policy. When the request queue is empty, the request queue remains idle. | cat /sys/block/@block/queue/iosched/strict_guarantees | echo $value > /sys/block/@block/queue/iosched/strict_guarantees | FALSE | discrete | 0;1 | string | no | ||||||
84 | block.read_lat_nsec | This parameter is valid only for the Kyber scheduling policy. Target delay of the read request, in ns. | cat /sys/block/@block/queue/iosched/read_lat_nsce | echo $value > /sys/block/@block/queue/iosched/read_lat_nsec | FALSE | discrete | int | 1000000 | 100000000 | 1000000 | no | ||||
85 | block.write_lat_nsec | This parameter is valid only for the Kyber scheduling policy. Target delay of a synchronous write request, in ns. | cat /sys/block/@block/queue/iosched/write_lat_nsec | echo $value > /sys/block/@block/queue/iosched/write_lat_nsec | FALSE | discrete | int | 2000000 | 100000000 | 2000000 | no | ||||
86 | block.io_poll_delay | If polling is enabled, this parameter controls which type of polling is performed. The default value is -1, indicating traditional polling. In this mode, the CPU will not give up any time to repeatedly ask for completion. If set to 0, the mixed polling mode is used, and the kernel attempts to guess when the I/O is complete based on the training. Based on this guess, the kernel puts the process that made the IO request to sleep for a period of time before entering a traditional polling cycle. This mode may be slower than the purely traditional polling mode, but it may be more efficient. If this value is set to a value greater than 0, the kernel sets the process that issued the IO request to sleep for so many microseconds before entering a traditional poll. | cat /sys/block/@block/queue/io_poll_delay | echo $value > /sys/block/@block/queue/io_poll_delay | FALSE | discrete | 0;-1 | string | no | ||||||
87 | block.io_poll | Whether to use polling or interrupt processing for block devices. The polling policy is preferred for NVMe SSD devices. | cat /sys/block/@block/queue/io_poll | echo $value > /sys/block/@block/queue/io_poll | FALSE | discrete | 0; 1 | string | no | ||||||
88 | block.max_sectors_kb | Specifies the maximum size (in kilobytes) of the I/O request. The default value is 512 KB. | cat /sys/block/@block/queue/max_sectors_kb | echo $value > /sys/block/@block/queue/max_sectors_kb | FALSE | discrete | int | 64 | 1024 | 64 | yes | ||||
89 | block.queue_depth | Block device queue depth | cat /sys/block/@block/device/queue_depth | echo $value > /sys/block/@block/device/queue_depth | FALSE | discrete | int | 64 | 1024 | 64 | yes | ||||
90 | block.nr_requests | Limits the maximum number of read and write requests queued at the same time. | cat /sys/block/@block/queue/nr_requests | echo $value > /sys/block/@block/queue/nr_requests | FALSE | discrete | int | 128 | 2048 | 64 | yes | ||||
91 | block.read_ahead_kb | Defines the number of kilobytes that the operating system will prefetch during the sequential read operation phase to store information that may be needed immediately in the page cache. | cat /sys/block/@block/queue/read_ahead_kb | echo $value > /sys/block/@block/queue/read_ahead_kb | FALSE | discrete | int | 0 | 65536 | 1024 | yes | ||||
92 | block.rq_affinity | Whether I/O can be performed on different processors is not limited to the processor that sends the I/O request. | cat /sys/block/@block/queue/rq_affinity | echo $value > /sys/block/@block/queue/rq_affinity | FALSE | discrete | 0; 1; 2 | string | yes | ||||||
93 | block.add_random | Some I/O events affect the entropy pool of /dev/random. | cat /sys/block/@block/queue/add_random | echo $value > /sys/block/@block/queue/add_random | FALSE | discrete | 0; 1 | string | yes | ||||||
94 | block.rotational | Whether the storage device is a mechanical hard disk. If the storage device is a solid state disk, set this parameter to 0. | cat /sys/block/@block/queue/rotational | echo $value > /sys/block/@block/queue/rotational | FALSE | discrete | 0; 1 | string | yes | ||||||
95 | block.scheduler | Configure I/O scheduling. Deadline or noop is more suitable for MySQL database scenarios. | cat /sys/block/@block/queue/scheduler | sed -n 's/.*\[\(.*\)\].*/\1/p' | echo $value > /sys/block/@block/queue/scheduler | FALSE | discrete | mq-deadline; kyber; bfq; none | string | yes | ||||||
96 | block.write_cache | Whether to use the write back or write through cache policy | cat /sys/block/@block/queue/write_cache | echo $value > /sys/block/@block/queue/write_cache | FALSE | discrete | write back; write through | string | yes | ||||||
97 | block.nomerges | Most workloads benefit from request merges. However, disabling merges helps for debugging purposes. You can set this parameter to 0 to disable combination. Enabled by default (set to 1). | cat /sys/block/@block/queue/nomerges | echo $value > /sys/block/@block/queue/nomerges | FALSE | discrete | 0; 1; 2 | string | yes | ||||||
98 | Parameters related to the network software stack | net.core.netdev_budget | Number of network packets processed in each software interrupt | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 100 | 1000 | 100 | yes | |||
99 | net.core.optmem_max | Maximum size of the buffer allowed by each socket(in bytes). | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 20480 | 204800 | 20480 | yes | ||||
100 | net.core.wmem_max | The maximum size of the system socket write buffer is increased to prevent buffer overflow caused by a large number of new connections. As a result, connections cannot be established. The default value is 229376. You are advised to change the value to 16777216. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1048576 | 67108864 | 1048576 | yes | ||||
101 | net.core.wmem_default | Default TCP send window size (bytes) | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 8192 | 1048576 | 8192 | yes | ||||
102 | net.core.rmem_default | Sets the default buffer size (bytes) of the receive socket. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 8192 | 1048576 | 8192 | yes | ||||
103 | net.core.rmem_max | Maximum system socket read buffer The default value is 229376. You are advised to change the value to 16777216. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1048576 | 67108864 | 1048576 | yes | ||||
104 | net.core.netdev_max_backlog | Maximum number of packets that can be sent to the queue when each network interface receives packets faster than the kernel processes them | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1000 | 100000 | 1000 | yes | ||||
105 | net.ipv4.tcp_thin_linear_timeouts | Check whether the TCP stream is thin after the retransmission times out. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0;1 | string | yes | ||||||
106 | net.unix.max_dgram_qlen | Maximum number of datagrams in a UDP queue | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 128 | 1048576 | 128 | yes | ||||
107 | net.core.somaxconn | Defines the maximum length of the listening queue of each port in the system. This is a global parameter. The default value is 128. You are advised to change the value to 1024. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 128 | 65536 | 128 | yes | ||||
108 | net.core.busy_poll | Timeout interval for performing the poll and select operations on network devices (us) by default. The value is determined by the number of sockets. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 200 | 10 | yes | ||||
109 | net.core.busy_read | Timeout interval for reading data frames in the device frame queue (us) by default. The recommended value is 50. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 200 | 10 | yes | ||||
110 | net.core.dev_weight | Maximum number of network packets that can be processed by each CPU in an NAPI interrupt | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 16 | 1024 | 16 | yes | ||||
111 | net.ipv4.tcp_keepalive_intvl | Indicates the frequency of sending TCP probe packets. The value multiplied by tcp_keepalive_probes indicates the duration when no TCP connection is available. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 30 | 300 | 15 | yes | ||||
112 | net.ipv4.tcp_keepalive_probes | This file indicates the maximum number of times that TCP keepalive detection is performed before a TCP connection is discarded. Keep-alive connections are sent only when the SO_KEEPALIVE socket option is turned on. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 3 | 144 | 3 | yes | ||||
113 | net.ipv4.tcp_keepalive_time | Interval for sending keepalive detection messages(in seconds). This parameter is used to check whether the TCP connection is valid. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 600 | 36000 | 600 | yes | ||||
114 | net.ipv4.tcp_tw_reuse | The value 1 indicates that TIME-WAIT sockets can be used for new TCP connections, and the value 0 indicates that TIME-WAIT sockets are disabled. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0;1;2 | string | yes | ||||||
115 | net.ipv4.tcp_window_scaling | The window scaling defined in RFC 1323 is enabled. To support a TCP window larger than 64 KB, this parameter must be set to 1. The maximum size of a TCP window is 1 GB. This parameter takes effect only when both parties of a TCP connection are enabled. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0;1 | string | yes | ||||||
116 | net.ipv4.tcp_fin_timeout | Maximum duration for a socket to remain in the FIN_WAIT_2 state. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1 | 120 | 1 | yes | ||||
117 | net.ipv4.udp_mem | The file saves three values: low: When the number of memory pages used by UDP is less than the value of this parameter, UDP does not release memory. assure: When the number of memory pages used by UDP exceeds the value of this parameter, UDP attempts to stabilize the memory usage and enters the pressure mode. When the memory usage is less than the value of low, UDP exits the pressure mode. high: indicates the number of pages that can be used by all UDP sockets to queue and buffer datagrams. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 12582912 16777216 25165824;25165824 33554432 50331648;50331648 100663296 | string | yes | ||||||
118 | net.ipv4.tcp_mem | TCP overall cache setting, which controls all TCP memory usage (in pages). The parameter indicates the no-pressure value of the TCP overall memory, the threshold for enabling the pressure mode, and the maximum usage value in sequence. This parameter is used to control whether the new cache is successfully allocated. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 6168306 8224411 12336612;12336612 16448822 24673224 | string | yes | ||||||
119 | net.ipv4.tcp_rmem | Size of the read buffer. The first value is the minimum value of the read buffer, the third value is the maximum value, and the middle value is the default value. The default value is 4096 87380 6291456. You are advised to change the value to 4096 87380 16777216. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 4096 16384 4194304;4096 32768 8388608;4096 65536 16777216 | string | yes | ||||||
120 | net.ipv4.tcp_wmem | Size of the write buffer. The first value is the minimum value of the read buffer, the third value is the maximum value, and the middle value is the default value. The default value is 4096 16384 4194304. You are advised to change the value to 4096 65536 16777216. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 4096 16384 4194304;4096 32768 8388608;4096 65536 16777216 | string | yes | ||||||
121 | net.ipv4.tcp_fastopen | Whether to enable the TCP quick open mode is to avoid the three-way handshake of hot requests. This greatly improves the performance in the scenario where small objects are moved. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 1; 2; 4 | string | yes | ||||||
122 | net.ipv4.tcp_synack_retries | For the remote connection request SYN, the kernel sends a SYN + ACK packet to acknowledge the receipt of the previous SYN connection request packet. It's called a three-way handshake. This parameter determines the number of SYN+ACK packets sent by the kernel before the kernel discards the connection. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 3 | 64 | 1 | yes | ||||
123 | net.ipv4.tcp_syn_retries | Number of times that the local device retransmits TCP SYN packets due to timeout. The value cannot be greater than 255. This parameter is valid only for outgoing connections. For incoming connections, this parameter is controlled by tcp_retries1. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 3 | 64 | 1 | yes | ||||
124 | net.ipv4.tcp_moderate_rcvbuf | Whether to adjust the receive buffer when receiving data 0: no adjustment 1: yes | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
125 | net.ipv4.tcp_timestamps | Indicates whether to enable the calculation of the RTT in a more accurate way than timeout retransmission (see RFC 1323). This option should be enabled for better performance. 0: no 1: enabled | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
126 | net.ipv4.tcp_dsack | Indicates whether to allow TCP to send two identical SACKs. 0: disabled 1: enabled | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
127 | net.ipv4.tcp_fack | Enables the forwarding acknowledgment. The selective acknowledgment (SACK) can be performed to reduce the occurrence of congestion. This option should also be enabled. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
128 | net.ipv4.tcp_sack | Indicates whether to enable the selective acknowledgment function. This function improves the performance by selectively responding to out-of-order received packets. In this way, the sender can send only lost packet segments. This function should be enabled for WAN communication, however, this increases the CPU usage. 0: no 1: enabled | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
129 | net.ipv4.tcp_low_latency | Allows the TCP/IP stack to adapt to low latency in high throughput scenarios. This option is generally disabled. (But when building a Beowulf cluster, it helps to open it.) 0: disabled 1: enabled | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
130 | net.ipv4.tcp_adv_win_scale | Calculating the Buffer Overhead | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 4 | 1 | yes | ||||
131 | net.ipv4.route.max_size | Maximum number of entries in the routing cache. If the number of entries in the routing cache exceeds the maximum, the old entries are cleared. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 67108864 | 2080374784 | 67108864 | yes | ||||
132 | net.ipv4.tcp_max_tw_buckets | Reduce the number of TIME_WAIT connections to prevent excessive TIME_WAIT connections from occupying network resources and increasing the latency. The default value is 2048. You are advised to change the value to 360000. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 32768 | 1048576 | 32768 | yes | ||||
133 | net.ipv4.tcp_max_syn_backlog | Indicates the length of the SYN queue. A larger queue length can accommodate more network connections waiting for connections. The default value is 2048. You are advised to change the value to 8192. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 1024 | 262144 | 1024 | yes | ||||
134 | net.ipv4.tcp_max_orphans | Number of sockets that can be processed by the system and do not belong to any process. When a large number of connections need to be quickly established, pay attention to this parameter. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 65536 | 16777216 | 65536 | yes | ||||
135 | net.ipv4.tcp_ecn | Indicates whether to enable the direct TCP congestion notification function. 0: disabled; 1: enabled | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1; 2 | string | yes | ||||||
136 | net.ipv4.ip_forward | Indicates whether to enable IPv4 IP forwarding. 0: disabled 1: enabled | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
137 | net.ipv4.conf.default.rp_filter | The kernel sets the policy for responding to ARP queries. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
138 | net.ipv4.ip_local_port_range | The range of available ports has been increased to prevent performance deterioration caused by continuous search of available ports for new connections when a large number of connections occupy ports. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 32768 60999; 1024 65535; 8192 65535 | string | yes | ||||||
139 | net.ipv4.tcp_no_metrics_save | After a TCP connection is closed, the saved parameters can be used to initialize the connection when the same connection is created next time as long as dst_entry is valid. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
140 | net.ipv4.ip_default_ttl | Specifies the lifetime of IP packets sent from the local device. The value is an integer ranging from 0 to 128. The default value is 64. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 8 | 128 | 8 | yes | ||||
141 | net.ipv4.ip_no_pmtu_disc | Setting the MTU for Automatic Socket Detection | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
142 | net.ipv4.tcp_retries2 | The number of retries required before discarding an active (established traffic condition) TCP connection. The default value is 15. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 3 | 30 | 1 | yes | ||||
143 | net.ipv4.tcp_orphan_retries | Number of retries before the local end discards the TCP connection. The default value is 7. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 15 | 1 | yes | ||||
144 | net.ipv4.tcp_syncookies | Indicates whether to enable the TCP synchronization label (syncookie). | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
145 | net.ipv4.tcp_reordering | Maximum number of reordered data packets in TCP flows | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 2 | 10 | 1 | yes | ||||
146 | net.ipv4.tcp_retrans_collapse | Provides compatibility for bugs on some printers. (Generally, this support is not required. You can disable it.) | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
147 | net.ipv4.tcp_congestion_control | TCP congestion scheduling algorithm | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | cubic; reno; bbr | string | yes | ||||||
148 | net.ipv4.conf.default.promote_secondaries | 0: When the primary IP address of an interface is removed, all secondary IP addresses are deleted. 1: When the primary IP address of an interface is removed, the secondary IP address becomes the primary IP address. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
149 | net.ipv4.conf.all.promote_secondaries | 0: When the primary IP address of an interface is removed, all secondary IP addresses are deleted. 1: When the primary IP address of an interface is removed, the secondary IP address becomes the primary IP address. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
150 | net.ipv4.conf.all.accept_redirects | Receives and sends ICMP redirection messages. The default value is True for hosts and False for routers. 0: disabled 1: yes | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
151 | net.ipv4.conf.default.accept_redirects | Receives and sends ICMP redirection messages. The default value is True for hosts and False for routers. 0: disabled 1: yes | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
152 | net.ipv4.conf.all.secure_redirects | Receives only ICMP redirect messages sent to gateways in the default gateway list. 0: disabled 1: yes | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
153 | net.ipv4.conf.default.secure_redirects | Receives only ICMP redirect messages sent to gateways in the default gateway list. 0: disabled 1: yes | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
154 | net.ipv4.icmp_echo_ignore_broadcasts | Ignore all received ICMP Echo request broadcasts. 0: not ignore 1: ignore | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
155 | net.nf_conntrack_max | Maximum number of ip_conntrack structures in the memory | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 65536 | 1048576 | 65536 | yes | ||||
156 | net.netfilter.nf_conntrack_tcp_timeout_established | Timeout interval for TCP in the established state (s) | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 108000 | 1728000 | 108000 | yes | ||||
157 | net.netfilter.nf_conntrack_tcp_timeout_close_wait | Timeout interval for TCP in close wait state (s) | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 15 | 240 | 15 | yes | ||||
158 | net.netfilter.nf_conntrack_tcp_timeout_fin_wait | Timeout interval for TCP in the fin wait state (s) | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 30 | 480 | 30 | yes | bad command line argument(s) | |||
159 | net.netfilter.nf_conntrack_tcp_timeout_time_wait | Timeout interval for TCP in time wait state (s) | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 30 | 480 | 30 | yes | ||||
160 | net.ipv4.conf.default.forwarding | Enable the forwarding function on the interface. 0: disabled 1: yes | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | 0; 1 | string | yes | ||||||
161 | net.core.rps_sock_flow_entries | RFS (Receiver Flow Control) extends the performance of RPS to increase the CPU cache hit ratio and reduce network latency. | sysctl -n @name | sysctl -w @name=$value | FALSE | discrete | int | 0 | 131072 | 1024 | yes | ||||
162 | net.ipv4.tcp_min_tso_segs | Minimal number of segments per TSO frame. | sysctl -n @name | sysctl -w @name=$value | FALSE | continuous | int | 1 | 16 | 1 | yes | ||||
163 | others | login.UserTasksMax | Limit the maximum number of operating system tasks that can be run concurrently by each user | cat /etc/systemd/logind.conf | grep -w "^UserTasksMax" | awk -F "=" '{print$2}' | sed -i "s/UserTasksMax=.*/UserTasksMax=$value/" /etc/systemd/logind.conf | FALSE | continuous | int | 1024 | 1048576 | yes | ||||
164 | ulimit.nofile | Maximum number of files that can be used by a user. | ulimit -n | ulimit -n $value | FALSE | discrete | int | 1024 | 10240 | 1 | yes | ||||
165 | Hardware-related | prefetcher | Hardware prefetch policy. The value 0 indicates that the policy is disabled, and the value 15 indicates that the policy is enabled. | cat /sys/class/misc/prefetch/policy | echo $value > /sys/class/misc/prefetch/policy | FALSE | discrete | 0; 15 | int | 0 | 15 | 1 | yes | ||
166 | read_unique | Whether to allow cross-numa access to cache. 0--allow 1--forbid. | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
167 | reg_nosnp_atomic_bypass_en | Whether to bypass atomic operations of CPUs. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
168 | reg_ro_alloc_shut_en | Whether to allow allocating readonce operation into L3. 0--allow 1--forbid | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
169 | reg_wrfull_hit_shut_en | Whether to send createE to HA when 64wu-full hit spipe M. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
170 | req_conflict_en | Whether to enable the operation of reversing back one pat when receiving requests from both in and out of CPU. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
171 | lower_power_en | Whether to enable CQ low power method. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
172 | dataclean_shut_en | Whether to shield the CE bit of Taishan Core's write_no_snoop_full. 0--not shield 1--shield | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
173 | arb_flush_shut_en | Whether to enable the reset of ARBIT scheduling pointer when CQ queue is at idle status. 0--enable 1--disable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
174 | pgnt_arb_exat_shut_en | Whether to enable pgrant scheduling method in which only one grant tries at one time. 0--enable 1--disable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
175 | fast_exter_shut_en | Whether to forbid data missed from extern requests to be transferred through fast access. 0--allow 1--forbid | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
176 | fast_data_shut_en | Whether to forbid data missed to be transferred through fast access. 0--allow 1--forbid | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
177 | pend_data_shut_en | Whether to forbid data missed to be transferred through pend access. 0--allow 1--forbid | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
178 | ramswap_full_shut_en | Full or partial when doing ramswap. 1--partial 0--Full. | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
179 | ramfwd_shut_en | Enable ramfwd method. 0--enable 1--disable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
180 | reads_upgrade_en | Enable read_shared operation status promotion. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
181 | rdmerge_pipe_en | Whether to allow requests from Sqmerge to be hit in Cpipe5. 0--forbid 1--allow | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
182 | spill_en | Enable spill in L3T. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
183 | spill_shared_en | Enable spill at shared status of L3T. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
184 | spill_instr_en | Enable instruction spill in L3T. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
185 | sqrdmerge_en | Use RDMERGE acceleration in SQ merge operations. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
186 | prefetch_drop_en | Enable the drop of prefetch in L3T. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
187 | datapull_en | Enable the datapull in L3T. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
188 | mkinvld_en | Enable the transformation from makelinvalid to cleinvalid. 0--enable 1--disable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
189 | ramthr_en | Allow CPU to derive data back from thr channel directly in L3D. 0--forbid 1--allow | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
190 | rsperr_en | Allow to report rsperr. 0--forbid 1--allow | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
191 | iocapacity_limit_en | Whether to limit the io capacity of cache. 0--unlimiet 1--limit. | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
192 | force_cq_clk_en | Force to open Cache queue clock. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
193 | sqmerge_en | Whether consecutive address access can occupy only one entry in the squeue to accelerate the merge process. 0--limit 1--merge. | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
194 | rdmerge_upgrade_en | Whether to allow the RS to merge with the preceding ReadE. 0--disabl 1--allow. | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
195 | prefetch_drop_hha_en | Whether to merge a non-prefetch operation with the previous prefetch operation. 0--allow 1--limit. | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
196 | tag_rep_alg | Choose cache line algorithm. 0--random 1--drrip 2--plru 3--random. | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | int | 0 | 3 | 1 | yes | ||||
197 | rdnosnp_nca_shut_en | Whether to mark the readnosnp of the bypass sent by the CPU as NCA. 0--yes 1--no | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
198 | wrfull_create_en | Whether to enable 128-byte writeunique only to obtain permission but not data from HHA. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
199 | cleanunique_data_en | Whether to enable the cleanunqunie to return data. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
200 | lock_share_req_en | Whether to enable the register lock function in share mode and not to deliver operations to the HHA. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
201 | ddr_compress_opt_en | Optimization switch of support HHA compression access. 0--disable 1--enable. | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes | ||||||
202 | atomic_monitor_en | Enable atomic_monitor. 0--disable 1--enable | cat /sys/class/misc/prefetch/@name | echo $value > /sys/class/misc/prefetch/@name | FALSE | discrete | 0; 1 | string | yes |