-
Rebase From Root
git rebase -i –root
-
Change Max Sectors Per Request
Q:
linux 中的磁盘的max sectors per request属性怎么更改?blockdev 只能查看,不能改
A:
在Linux系统中,max sectors per request属性是块设备的内核参数之一,它定义了一个I/O请求中可以包含的最大扇区数量。这个参数对于优化磁盘性能和避免由于过大的I/O请求导致的潜在问题是非常重要的。虽然blockdev命令可以用来查看这个属性,但是它不提供修改这个参数的功能。
要更改max sectors per request属性,你需要直接在/sys文件系统中进行操作。下面是具体的步骤和方法:
查看当前的max sectors per request值: 你可以使用cat命令来查看特定块设备的当前max sectors per request值。例如,对于设备/dev/sda,你可以执行以下命令:
cat /sys/block/sda/queue/max_sectors_kb
这将显示当前以KB为单位的max sectors per request值。请注意,这个值可能被设置为一个范围,例如8-512,表示最小值是8KB,最大值是512KB。
修改max sectors per request值:
要修改这个值,你需要写入一个新的值到相应的文件中。使用echo命令和重定向操作可以实现这一点。例如,如果你想将/dev/sda的max sectors per request值设置为256KB,你可以执行以下命令:
echo 256 > /sys/block/sda/queue/max_sectors_kb
这将把max sectors per request值设置为256KB。请注意,你需要具有相应的权限(通常是root权限)来执行这个操作。
验证更改:
更改之后,使用cat命令再次查看max sectors per request值来确认更改是否成功:
cat /sys/block/sda/queue/max_sectors_kb
如果显示的值是256,那么你的更改已经成功。
注意事项:
在更改max sectors per request值之前,确保你了解这个更改对系统性能的影响。不同的值可能会对不同类型的工作负载产生不同的影响。
某些系统可能会在重启后重置这些值到默认设置。如果你希望更改是永久性的,你可能需要在/etc/rc.local文件中添加相应的命令,或者创建一个udev规则来在设备加载时自动设置这个值。
在某些情况下,如果设置的值超出了设备硬件的限制,可能会导致I/O操作失败。在更改之前,最好查阅设备的技术手册或者与设备供应商联系,以确定合适的值范围。
以上步骤和方法基于搜索结果12中的信息。如果你遇到任何问题,或者需要进一步的帮助,可以参考这些文档或者联系系统管理员。
-
Npm Build Err_ossl_evp_unsupported
遇到下面这样的报错
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED'
export NODE_OPTIONS=–openssl-legacy-provider
-
Docker Reload Cacert
https://github.com/moby/moby/issues/39869
目前看起来,只能重启才能加载系统证书。
如果不想重启,有两个办法
- 配置 insecure-registries
- 创建 /etc/docker/certs.d/{domain} 文件夹,并将证书放在这下面
-
Run Amd64 On Mac M1
package main import ( "fmt" "golang.org/x/sys/unix" ) func processIsTranslated() (bool, error) { // https://developer.apple.com/documentation/apple_silicon/about_the_rosetta_translation_environment#3616845 ret, err := unix.SysctlUint32("sysctl.proc_translated") print(ret) print(err) if err == nil { return ret == 1, nil } else if err.(unix.Errno) == unix.ENOENT { return false, nil } return false, err } func main() { if isTranslated, err := processIsTranslated(); err != nil { panic(err) } else if isTranslated { fmt.Println("Running on Rosetta 2") } else { fmt.Println("Running natively") } }
-
Profile Hang
export DEBUGINFOD_URLS=””
在使用 bcc profile 工具做火焰图的时候,卡在输出时。
通过 strace 和 dcpdump 看到他在请求 https://debuginfod.centos.org.
-
Nonono
奶奶在家里让他去上学的时候,说“你不上学,爷爷和我都不和你玩。你就自己玩吧。”
我非常不喜欢这种方式,第一你没权利替爷爷做决定。第二我想起来我小学五年级的班主任,我现在还觉得他是个人渣,他惩罚一个人的时候方式是不让其他任何同学和这个人讲话。
-
Auto Activate
function auto_activate_venv() { if [ -e "venv/bin/activate" ]; then source venv/bin/activate else local dir=$(pwd) while [[ "$dir" != "" && ! -e "$dir/venv/bin/activate" ]]; do dir=${dir%/*} done if [ -e "$dir/venv/bin/activate" ]; then source $dir/venv/bin/activate fi fi } #export PROMPT_COMMAND="auto_activate_venv" function cd() { type deactivate > /dev/null && deactivate builtin cd $1 auto_activate_venv } auto_activate_venv
-
Update Kafka Cert
export idx=3 export cluster=hotel-searchservice-shaxy-b k exec -npro-kafka $cluster-kafka-$idx -- mkdir /tmp/broker-certs /tmp/client-ca-certs /tmp/cluster-ca-certs clustercert=`k get secret -npro-kafka $cluster-cluster-ca-cert -o jsonpath='{.data.ca\.crt}' | base64 -d` k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$clustercert' > /tmp/cluster-ca-certs/ca.crt" clientscert=`k get secret -npro-kafka $cluster-clients-ca-cert -o jsonpath='{.data.ca\.crt}' | base64 -d` k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$clientscert' > /tmp/client-ca-certs/ca.crt" brokerkey=`k get secret -npro-kafka $cluster-kafka-brokers -o jsonpath="{.data.$cluster-kafka-$idx\.key}" | base64 -d` brokercert=`k get secret -npro-kafka $cluster-kafka-brokers -o jsonpath="{.data.$cluster-kafka-$idx\.crt}" | base64 -d` k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$brokerkey' > /tmp/broker-certs/$cluster-kafka-$idx.key" k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$brokercert' > /tmp/broker-certs/$cluster-kafka-$idx.crt" k exec -npro-kafka $cluster-kafka-$idx -- sh -c "sed 's|/opt/kafka/|/tmp/|' kafka_tls_prepare_certificates.sh > /tmp/upate-cert.sh" k exec -npro-kafka $cluster-kafka-$idx -- sh -c 'export CERTS_STORE_PASSWORD=$(grep listener.name.replication-9091.ssl.keystore.password /tmp/strimzi.properties | cut -f2 -d=) && sh /tmp/upate-cert.sh' k exec -npro-kafka $cluster-kafka-$idx -- bin/kafka-configs.sh --bootstrap-server 127.0.0.1:9092 --entity-type brokers --entity-name $idx --alter --add-config listener.name.replication-9091.ssl.truststore.location=/tmp/kafka/cluster.truststore.p12
-
Keytool List
keytool -v -list -storetype pkcs12 -keystore keystore.p12