1、查看磁盘使用大小:
df -h

2、查看目录占用大小

1、查看磁盘使用大小:
df -h
2、查看目录占用大小
cat /proc/kallsyms grep fib4 rule default
1、下载源文件
http://ftp.gnu.org/pub/gnu/ncurses/
Tags · mirror/ncurses (github.com)
Ncurses project files : Ncurses (launchpad.net)
2、加压并配置
./configure --prefix=/usr/aarch64-linux-gnu --host=aarch64-linux CC=aarch64-linux-gnu-gcc --without-cxx --without-cxx-binding --without-ada --without-manpages --enable-overwrite --without-debug --without-tests --with-shared --without-tests --without-progs
3、编译并安装
make&&make install
make cfg all tgt=rom ARCH=mips CROSS_COMPILE=mipsel-linux- DEBUG=-g
第一部分:ARCH=mips CROSS_COMPILE=mipsel-linux- DEBUG=-g
ARCH=mips 设置了平台是mips平台
CROSS_COMPILE=mipsel-linux- 设置交叉编译器前缀,在编译时会替换成mipsel-linux-,之所以设置环境变量,一个是方便在这儿不用输入绝对路径,当找不到交叉编译器的时候,需要输入交叉编译器的绝对路径
DEBUG=-g 设置调试信息
第二部分:make cfg all tgt=rom
make cfg 是配置
make all
make tgt=rom 在Makefile.inc里可以看到,是生成的二进制文件
1、原因
2、解决方法
意思是新的glibc库已经不支持sys_siglist[],使用strsignal()。
重点方括号变成了圆括号,就是由数组变成了函数。
1、下载并解压
https://github.com/mongodb/mongo-c-driver/releases/download/1.23.4/mongo-c-driver-1.23.4.tar.gz
编译环境:Ubuntu 20.04
2、环境配置
sudo apt-get install cmake libssl-dev libsasl2-dev
tar xzf mongo-c-driver-1.23.4.tar.gz
cd mongo-c-driver-1.23.4
mkdir cmake-build
cd cmake-build
cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF -DCMAKE_C_COMPILER=/usr/bin/aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=/usr/bin/aarch64-linux-gnu-g++ -DOPENSSL_INCLUDE_DIR=/usr/aarch64-linux-gnu/include/openssl/ -DCMAKE_PREFIX_PATH=/usr/lib/aarch64-linux-gnu/ -DCMAKE_INSTALL_PREFIX:PATH=/usr/aarch64-linux-gnu ..
CMAKE_INSTALL_PREFIX:安装目录
OPENSSL_INCLUDE_DIR:openssl目录
CMAKE_PREFIX_PATH:指定查找目录
CMAKE_CXX_COMPILER:C++编译器目录
CMAKE_C_COMPILER:C编译器目录
3、编译安装
cmake --build .
sudo cmake --build . --target install
4、修改配置文件
vim ./src/libmongoc/CMakeLists.txt
target_link_libraries (${test}
PRIVATE
$<$<C_COMPILER_ID:MSVC>:DbgHelp.dll>
$<$<PLATFORM_ID:Windows>:shlwapi>
$<$<BOOL:${use_shared}>:mongoc_shared>
$<$<NOT:$<BOOL:${use_shared}>>:mongoc_static>
${LIBRARIES}
${RESOLV_LIBRARIES} -lrt
)
target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES} -lrt)
1、下载解压源码
https://github.com/openssl/openssl/releases/download/openssl-3.1.0/openssl-3.1.0.tar.gz
2、编译配置
./Configure --prefix=/usr/lib/aarch64-linux-gnu/ --host=aarch64-linux CC=aarch64-linux-gnu-gcc --openssldir=/usr/lib/aarch64-linux-gnu/ '-Wl,-rpath,$(LIBRPATH)'
./config no-asm shared no-async --prefix=$(pwd)/install --cross-compile-prefix=aarch64-linux-gnu-
3、编译安装
make
make install
4、arm平台错误
aarch64-linux-gnu-gcc: error: unrecognized command line option '-m64'
打开Makefile,去掉-m64
CNF_CFLAGS=-pthread -m64
CNF_CXXFLAGS=-std=c++11 -pthread -m64
编译平台:Ubuntu20.04 x86 amd64
目标平台:Ubuntu20.04 arm arrch64
1、软件库下载
wget https://github.com/sctp/lksctp-tools/archive/refs/tags/lksctp-tools-1.0.18.zip
解压进入目录
2、配置编译环境
sudo apt install automake
sudo apt install libtool
./bootstrap
./configure --prefix=/usr/lib/aarch64-linux-gnu/ --host=aarch64-linux CC=aarch64-linux-gnu-gcc
3、编译安装
make
make install
1、查看内存页大小
root@Linux:~# getconf PAGESIZE
4096
2、查看DMA分配关系
root@Linux:~# cat /proc/buddyinfo
Node 0, zone DMA 4 5 0 5 1 3 4 4 6 7 461
Node 0, zone Normal 456 1982 1205 478 151 49 31 18 10 5 6732
3、计算DMA内存占用大小
每一行代表当前的内存区中连续1、2、4、8、16、32、64、128、256、512、1024个可使用空闲页的数量,当前系统默认的页大小为4K,所以分别对应的大小为1x4k、2x4k、4x4k、8x4k、16x4k、32x4k、64x4k、128x4k、256x4k=1M、512x4k=2M、1024x4k=4M,由此可以计算出:
DMA大小为:
3x4M+1x2M+1x1M+…=16M
DMA32大小为:
539x4M+22M+21M+…=2G
Normal大小为:
7043x4M+9x2M+6x1M+…=27G
1、为啥会涉及这问题
现象:无法正常DNS解析
当你使用双网卡上网的设备上网的时候,由于路由优先级问题及路由遍历超时问题,会造成DNS解析路由短时间不正确问题,也就无法上网。
2、调整网卡路由优先级
通过分析我们可以通过调整路由解析优先级,把需要上网的网卡路由优先级提高。
IPV4_ROUTE_METRIC=90
值越小优先级越高,默认100
增加配置
vim /etc/sysconfig/network-scripts/ifcfg-ens224
重启生效:systemctl restart network.service