Linux
2026
从一次训练集群卡顿,理解 Linux Overcommit
·7429 words·15 mins
起因 # 最近偶然看到一篇文章,里面提到一个 Linux 和 Windows 的差异:在 Linux 下,即使机器实际上没有足够的物理内存,一个很大的 malloc 仍然可能成功返回。而 Windows 对 committed memory 的管理要严格得多,类似的 allocation 更容易被直接拒绝。
2020
thinkpad t430 manjaro系统安装nvidia驱动
前几天装驱动把笔记本搞崩溃了..重新装了kde桌面环境的manjaro
首先根据 Configure NVIDIA (non-free) settings and load them on Startup
直接装驱动。 装之后mhwd -li命令会显示新安装的驱动,带有nvidia字样的。
2018
解决ubuntu 14.04 下 壁纸软件 variety 崩溃 ValueError: bad marshal data (unknown type code) 的问题
系统为ubuntu 14.04
迫于特别想定时换壁纸,查了下解决方案。
发现只要删除掉/usr目录下所有的’.pyc’文件就可以
命令为:sudo find /usr -name ‘*.pyc’ -delete
linux 下C++ 连接mysql 数据库
资料推荐这个:MySQL C API programming tutorial
环境为ubuntu 14.04 lts
需要安装mysql 和mysql 开发包
sudo apt-get install libmysqlclient15-dev mysql-server mysql-client
先在mysql 中建立test数据库和test表格
mysql>create database test; mysql>use test; //切换到test数据库中 mysql> create table test(name varchar(255),num int(10) ); //创建一个叫test的表 mysql>show create table test; //显示刚才创建的表信息 mysql> select * from test; //查询test表中数据 mysql>quit 然后用如下cpp代码连接
linux/win双系统 更新win后 grub 出现 Error: unknown filesystem 的解决办法
windows自己更新把grub更新挂了….
更新的时候要重启几次,重启一次挂一次…
讲真,windows(或者说win10?) 是我见过的最辣鸡的OS了… 自己把自己弄挂这事不是一两次了.
linux 下 .o 文件,.a 文件,.so 文件
发现我对工程一无所知 QAQ。
参考资料:
Library Archives: Static and Dynamic
简单地说,.a 文件是静态库,而 .so 文件是共享对象(动态库),作用类似 Windows 下的 DLL。
.o 文件则相当于 Windows 下的 .obj 文件。编译器通常先把各个源文件编译为目标文件,再将它们链接成最终的可执行文件。
mysql 出现 innoDB: Cannot allocate memory for the buffer pool 的解决办法
emmm,博客的数据库又挂了。
看了下log,发现innoDB: Cannot allocate memory for the buffer pool 的error
查了下,貌似是内存不够了? orz
用free 命令看了下,阿里云ecs貌似是默认没有swap分区的。
2017
安装win10后导致grub 引导缺失的解决办法
我之前是单系统manjaro,装了win10以后,grub menu直接消失不见…
ubuntu 的live cd进去,用神器boot-repair也没作用…
archlinux安装记
实在不忍心x1c吃灰。。。
打算装个arch玩。。。
第一次失败了,原因是忘记配置引导相关…
第二次就成功了…
教程满大街都是就不再写了….
ubuntu 包管理(apt-get)损坏的解决办法
症状是不管安装什么,都会说有一大堆依赖无法安装。。。
大概是: a depends b[i],but b[i] is not be installed. (b==0..n)
最后会提示Unable to correct problems, you have held broken packages
解决办法:用synaptic工具,把可能存在问题的包都清除掉。
AWK 初探
参考资料:
awk_维基百科
awk简明教程
awk是一门比较古老但是很好用的文本处理工具(语言?)
语法还是很好懂的。。转载了一篇文章,算是简明手册?不过台词有点糟糕 orz
有一些网友看了前两天的《Linux下应该知道的技巧》希望我能教教他们用awk和sed,所以,出现了这篇文章。我估计这些80后的年轻朋友可能对awk/sed这类上古神器有点陌生了,所以需要我这个老家伙来炒炒冷饭。况且,AWK是贝尔实验室1977年搞出来的文本处理神器,今年是蛇年,是AWK的本命年,而且年纪和我相仿,所以非常有必要为他写篇文章。
之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Name的首字符。要学AWK,就得提一提AWK的一本相当经典的书《The AWK Programming Language》,它在豆瓣上的评分是9.4分!在亚马逊上居然卖1022.30元。
2017年3月更新archlinux后没有声音问题的解决办法
系统信息:
表现为不管外放还是耳机。。都没有声音。。。
解决办法:
1pacmd set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo+input:analog-stereo 参考资料
Linux 下各个目录的作用及内容
参考:FHS(Filesystem Hierarchy Standard)
其实这东西虽然有一个统一的标准,但是不同发行版,或者同一个发行版的不同版本,差异貌似都蛮大的。所以这里只是理论上各个目录的作用,可能和具体的发行版不符。。
2016
manjaro安(zhe)装(teng)记
噫。。之前x200上装的是win7+fedora25 gnome。。。
虽然感觉gnome对于09年的老电脑来说有点吃力…不过也懒得换..
结果硬盘挂了2333 于是换了块硬盘
geekos project 1 (ELF文件相关)
一、目的 熟悉 ELF 文件格式,了解 GeekOS 系统如何将 ELF 格式的可执行程序装入到内存,建立内核进程并运行的实现技术。 二、流程 1、修改 /geekos/elf.c 文件:在函数 Parse_ELF_Executable( ) 中添加代码,分析 ELF 格式的可执行文件(包括分析得出 ELF 文件头、程序头,获取可执行文件长度,代码段、数据段等信息),并填充 Exe_Format 数据结构中的域值。 2、在 Linux 环境下编译系统得到 GeekOS 镜像文件。 3、编写一个相应的 bochs 配置文件。 4、在 bochs 中运行 GeekOS 系统显示结果。
2015
atom在linux下安装插件失败的解决方案
1gyp info it worked if it ends with ok 2gyp info using node-gyp@2.0.2 3gyp info using node@0.10.40 | linux | x64 4gyp http GET https://atom.io/download/atom-shell/v0.34.0/node-v0.34.0.tar.gz 5gyp WARN install got an error, rolling back install 6gyp ERR! install error 7gyp ERR! stack Error: This is most likely not a problem with node-gyp or the package itself and 8gyp ERR! stack is related to network connectivity. In most cases you are behind a proxy or have bad 9gyp ERR! stack network settings. 10gyp ERR! stack at Request.<anonymous> (/opt/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/lib/install.js:234:21) 11gyp ERR! stack at Request.emit (events.js:95:17) 12gyp ERR! stack at Request.onRequestError (/opt/atom/resources/app/apm/node_modules/npm/node_modules/request/request.js:861:8) 13gyp ERR! stack at ClientRequest.emit (events.js:95:17) 14gyp ERR! stack at Socket.socketErrorListener (http.js:1548:9) 15gyp ERR! stack at Socket.emit (events.js:95:17) 16gyp ERR! stack at net.js:834:16 17gyp ERR! stack at process._tickCallback (node.js:448:13) 18gyp ERR! System Linux 3.16.0-38-generic 19gyp ERR! command "/opt/atom/resources/app/apm/bin/node" "/opt/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "install" "--target=0.34.0" "--dist-url=https://atom.io/download/atom-shell" "--arch=x64" "--ensure" 20gyp ERR! cwd /home/rkz2013/.atom 21gyp ERR! node -v v0.10.40 22gyp ERR! node-gyp -v v2.0.2 23gyp ERR! not ok 解决办法是不用apm install 而是用npm install…之前要安装一个npm