待整理项
TMUX
1 2 3 4 5 6
| tmux new-session -d -s monitor 'top' \; \ split-window -h 'watch -n 1 nvidia-smi' \; \ select-pane -t 1 \; \ split-window -v 'watch -n 1 "ps aux| head -1; ps aux | sort -rnk 4 | head -10"' \; tmux a -t monitor
|
保存当前窗口的所有
1 2 3
| capture-pane -S - save-buffer tmux.log
|
SSH端口转发
设备172.20.1.22连接到服务器10.66.149.146,在服务器执行
ssh -CfNg -L 2222:172.20.1.22:22 perception@10.66.149.146
ssh -CfNg -L 8088:172.20.1.22:8080 perception@10.66.149.146
查找AVX SSE 指令受哪个编译选项控制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #!/bin/bash get_instruction () { [ -z "$1" ] && exit func_name="$1 " header_file=`grep --include=\*intrin.h -Rl "$func_name" /usr/lib/gcc | head -n1` [ -z "$header_file" ] && exit >&2 echo "find in: $header_file" target_directive=`grep "#pragma GCC target(\|$func_name" $header_file | grep -B 1 "$func_name" | head -n1` echo $target_directive | grep -o '"[^,]*[,"]' | sed 's/"//g' | sed 's/,//g' } instruction=`get_instruction $1` if [ -z "$instruction" ]; then echo "Error: function not found: $1" else echo "add this option to gcc: -m$instruction" gcc -m$instruction -dM -E - < /dev/null | egrep "SSE|AVX" | sort fi
|
valgrind
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
用法:valgrind[options] prog-and-args [options]: 常用选项,适用于所有Valgrind工具 -tool=<name> 最常用的选项。运行 valgrind中名为toolname的工具。默认memcheck。 h –help 显示帮助信息。 -version 显示valgrind内核的版本,每个工具都有各自的版本。 q –quiet 安静地运行,只打印错误信息。 v –verbose 更详细的信息, 增加错误数统计。 -trace-children=no|yes 跟踪子线程? [no] -track-fds=no|yes 跟踪打开的文件描述?[no] -time-stamp=no|yes 增加时间戳到LOG信息? [no] -log-fd=<number> 输出LOG到描述符文件 [2=stderr] -log-file=<file> 将输出的信息写入到filename.PID的文件里,PID是运行程序的进行ID -log-file-exactly=<file> 输出LOG信息到 file -log-file-qualifier=<VAR> 取得环境变量的值来做为输出信息的文件名。 [none] -log-socket=ipaddr:port 输出LOG到socket ,ipaddr:port LOG信息输出: -xml=yes 将信息以xml格式输出,只有memcheck可用 -num-callers=<number> show <number> callers in stack traces [12] -error-limit=no|yes 如果太多错误,则停止显示新错误? [yes] -error-exitcode=<number> 如果发现错误则返回错误代码 [0=disable] -db-attach=no|yes 当出现错误,valgrind会自动启动调试器gdb。[no] -db-command=<command> 启动调试器的命令行选项[gdb -nw %f %p] 适用于Memcheck工具的相关选项: -leak-check=no|summary|full 要求对leak给出详细信息? [summary] -leak-resolution=low|med|high how much bt merging in leak check [low] -show-reachable=no|yes show reachable blocks in leak check? [no]
|
valgrind 交叉编译
1 2 3 4 5 6 7 8 9
| export CC=/opt/toolchains/aarch64--glibc--stable-2020.08-1/bin/aarch64-linux-gcc export LD=/opt/toolchains/aarch64--glibc--stable-2020.08-1/bin/aarch64-linux-ld export AR=/opt/toolchains/aarch64--glibc--stable-2020.08-1/bin/-aarch64-linux-ar
./configure --prefix=/xdata/workspace/valgrind --host=aarch64-linux --enable-only64bit make -j4
make -j4 install DESTDIR=/sandbox/valgrind-3.21.0/Inst
|