零散的筆記

系統(tǒng)

gdb

gdb跟蹤zlib庫

  • 編譯debug版本
  • 鏈到編譯的庫
  • gdb -derictory 指定目錄

gdb打印jemalloc輸出信息

set scheduler-locking on

<pre>
echo 'p malloc_stats_print(0,0,0)' | gdb --quiet -nx /proc/30252/exe 30252 ___ Begin jemalloc statistics ___export LD_PRELOAD=/home/canfang.scf/libjemalloc.so.2
</pre>

gdb 調(diào)試

set scheduler-locking off|on|step
set logging on xx.log/off
set pagination off
thread find xxx
thread xx
gcore

vim

vim替換

:s/yeti\/mysql/yeti\/workspace\/mysql/g 替換當(dāng)前行所有的
:%s/yeti\/mysql/yeti\/workspace\/mysql/g 替換每一行

vim刪除空行

 :g/^$/d

vim刪除

去除重復(fù)行

sort file | uniq

處理字符串

:%s//要添加的內(nèi)容 行尾添加相同的內(nèi)容: :%s/^/要添加的內(nèi)容 首添加相同的內(nèi)容 :%s/^.\{10\}// 刪除前10個字符 :%s/.\{10\}// 刪除后10個字符

git

git clean

git clean -nxfd
git clean -nf
git clean -nfd

git別名

git config --global alias.st status

顯示提交信息:
git config --add remote.origin.fetch refs/notes/review:refs/notes/review
git fetch
git config --global alias.lg 'log --show-notes=review'

others

iostat

iostat -dxm 1 10
iostat -xm 1

mac install

sudo pip install requests

修改文件所屬權(quán)限

 sudo chown -R canfang.scf:users yeti
 sudo chmod a=rwx corefiles  all

拷貝忽略某些目錄

ls | grep -v "排除目錄" | xargs -i cp -a {} "目標目錄"
grep -r --exclude="*.o" "gcov" .
--exclude-dir=

為yeti.scf創(chuàng)建軟鏈接

ln -sv /u01/my3306/yeti.scf test

查看GLIBC版本

strings /lib64/libc.so.6 | grep GLIBC
export LD_PRELOAD=/usr/local/gcc-5.3.0/lib64/libstdc++.so.6.0.21

安裝gcc

sudo yum install -b current gcc49.x86_64
裝好之后在 /usr/local/gcc-4.9.2 下

offsetof(s,m)

求某個結(jié)構(gòu)體成員在結(jié)構(gòu)體里面的偏移量。

clang-format 格式化代碼

  • find . -regex ".*.d" | xargs clang-format -i -style=file
  • git-clang-format HEAD~1

tar壓縮

tar czvf xengine.tar xengine
tar -xvf xengine.tar

亂碼問題解決

.bashrc中加入
export LC_ALL=en_US.UTF-8  
export LANG=en_US.UTF-8  
locale 查看字符編碼設(shè)置情況

gflags

安裝使用
cmake .. -DBUILD_SHARED_LIBS=ON

cpu info

<pre>
cpu邏輯個數(shù)
cat /proc/cpuinfo | grep "processor" | wc -l
cpu物理個數(shù)
cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l
每個物理CPU中Core的個數(shù):
cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F: '{print $2}'
查看core id的數(shù)量,即為所有物理CPU上的core的個數(shù)
cat /proc/cpuinfo | grep "core id" | uniq | wc -l
是否為超線程
cat /proc/cpuinfo | grep "siblings

查看某個進程的狀態(tài)
cat /proc/129434/status

打出進程的線程列表
top -H -p 129434
uptime cpu平均負載
lscpu 查看cpu配額
iostat -txk 1 io狀態(tài)
https://shift-alt-ctrl.iteye.com/blog/2435140
</pre>

top

  • 按cpu的使用率排序瓤摧,運行top命令后耻涛,鍵入大寫P。
  • 按內(nèi)存的使用率排序也榄,運行top命令后块攒,鍵入大寫M哮塞。
  • top -c 顯示完整進程
  • top -Hp pid 然后輸入 P 依然可以按照 CPU 使用率將線程排序

systemtap

介紹
使用手冊
https://spacewander.gitbooks.io/systemtapbeginnersguide_zh/content/2_1_InstallationAndSetup.html
需要安裝

  1. kprobe
  2. kernel-devel或kernel-smp-devel rpm

find

grep -rin

grep

grep -E "begin to run dump|CK_TEST" Log 查找或

linux系統(tǒng)卡

  1. 查看內(nèi)存使用情況
    free -g
  2. 查看磁盤使用情況
    df -h
  3. 查看磁盤IO使用情況
    iostat -x 1
    1表示1秒刷新一次
    發(fā)現(xiàn)最右側(cè)%util很高時,表示IO就很高了算凿,若想看哪個進程占用IO份蝴,執(zhí)行iotop命令查看
    4.查看cpu使用情況
    top
    cpu使用情況,最右側(cè)的%id表示剩余氓轰,若很低婚夫,則表示cpu被吃完了,在top界面按shift+p對進程使用cpu排序署鸡,能看到哪些進程占用cpu較多

crontab 定時任務(wù)

安裝crontab:yum install crontabs
服務(wù)操作說明:
/sbin/service crond start //啟動服務(wù)
/sbin/service crond stop //關(guān)閉服務(wù)
/sbin/service crond restart //重啟服務(wù)
/sbin/service crond reload //重新載入配置
查看crontab服務(wù)狀態(tài):service crond status
手動啟動crontab服務(wù):service crond start
查看crontab服務(wù)是否已設(shè)置為開機啟動案糙,執(zhí)行命令 ntsysv
加入開機自動啟動: chkconfig –level 35 crond on

  • cat /etc/crontab

taobao rpm安裝包

rpm

使用自定義的malloc覆蓋系統(tǒng)的

https://yaoguais.github.io/article/jemalloc/start.html
https://stackoverflow.com/questions/262439/create-a-wrapper-function-for-malloc-and-free-in-c

python WEB小型服務(wù)器

python -m SimpleHTTPServer 8080

重定向

1>man.log 2>&1
0表示鍵盤輸入 1表示屏幕輸出 2表示錯誤輸出

eclipse支持c++11

<pre>
1.eclipse支持c++11
c/c++ general->PreprocessorInclude-> cdt fcc built-in compiler seting
{COMMAND}{FLAGS} -E -P -v -dD "${INPUTS}" -std=c++11

2.eclipse Unresolved inclusion: <iostream>
Project > Properties > C/C++ General > Preprocessor Includes… > Providers
并將 “CDT GCC Built-in Compiler Settings”打鉤
</pre>

<pre>
symbols and path
/home/canfang.scf/dev/workdir/x-db1/IS/dependency/mysql/include
/usr/local/gcc-5.3.0/include

</pre>

c++11編譯

g++ -g -Wall -std=c++11 main.cpp
gcc -g -Wall -std=c11 main.cpp

linux查看磁盤信息

tbraid disk

查看缺頁

sudo perf record -g -e faults -p pidof mysqld

perf

 perf record -p 56259 sleep 10
 perf report  

perf record -g -p 線程號 或者 perf record -g -a
大概 5 秒鐘之后 ctrl + c 中斷就可以了,然后 perf report

dmesg

dmesg -T | grep memory

棧變量知識

-fstack-usage -Wstack-usage

https://lark.alipay.com/db_core_team/internal_docs/stack-linux

core文件

sysctl kernel.core_pattern
sysctl -w kernel.core_pattern=core 
cat /proc/sys/kernel/core_pattern
sudo sh -c "echo /u01/my3306/corefile/core-%e-%p-%t > /proc/sys/kernel/core_pattern"   /u01/corefile -》 不正確Qデ臁时捌!
 https://www.fromdual.com/hunting-the-core
 ulimit -c unlimited

前置條件:確保系統(tǒng)配置的core file size足夠,一般設(shè)置成unlimited
ulimit -c unlimited

配置corefile的參數(shù):
echo 2 > /proc/sys/fs/suid_dumpable [程序中切換用戶炉抒,也要產(chǎn)生corefile]
mkdir /tmp/corefiles
chmod 777 /tmp/corefiles
echo "/tmp/corefiles/core">/proc/sys/kernel/core_pattern //配置core文件產(chǎn)生的目錄為/tmp/corefiles
echo "1" > /proc/sys/kernel/core_uses_pid

ld_patth

export
man ld.so

批量重命名

for var in ls; do mv -f "var" `echo "var" |sed 's/^.../rocks_/'`; done

myfs

sudo yum install t-ais-db-myfs -b current
sudo yum search myfs

查看占用端口號的進程

sudo lsof -i:3306 查看占用端口號的進程

端口號沖突

netstat -anp|grep 11000

扁鵲相關(guān)命令

sudo /etc/init.d/bianque status
在 /home/admin/bianque/bin 目錄下執(zhí)行 ./bianque_daemon_server
 sudo yum install bianque-daemon-server-generic.x86_64 

pstack

pt-pmp file.log

grep color

grep -r "log_error_verbosity"  . -n --color

mac find

<pre>
find . -name "蝙蝠俠"

找出當(dāng)前目錄以及其所有子目錄下所有名字中包含“蝙蝠俠”三字的文件

find . -name "*.rmvb" -maxdepth 1

找出當(dāng)前目錄(不包括子目錄)下所有名字中后綴為".rmvb"的文件

</pre>

定時打印jemalloc內(nèi)存信息腳本

<pre>
largest=70

while :; do
mem=(ps -p `pidof mysqld` -o %mem | tail -1) imem=(printf %.0f mem) if [imem -gt largest ]; then largest=imem
echo date, $largest >> /tmp/large_mem.log
echo 'p malloc_stats_print(0,0,"a")' | gdb --quiet -nx -p pidof mysqld
fi
sleep 20
done
</pre>

lcov 單測覆蓋率

ctest --timeout 30
lcov -b ./ -d ./ -c -o lcov_origin.info --rc lcov_branch_coverage=1
lcov -b ./ -d ./CMakeFiles/xengine.dir/ -c -o lcov_origin.info --rc lcov_branch_coverage=1
genhtml -o result lcov_origin.info

getenv 拿取環(huán)境變量的值

pPath = getenv ("PATH");

中文亂碼問題

locale -a | grep zh_CN

eclipse問題

構(gòu)建項目問題:.cproject, .project
eclipse 配色 https://blog.csdn.net/jdbc/article/details/52983914
eclipse 字體 http://www.iteye.com/news/11102-10-great-programming-font

eclipse 字體變大的問題

重啟XQuator 或者重裝

終端文件

attach to the process in question using gdb, and run:
p dup2(open("/dev/null", 0), 1)
p dup2(open("/dev/null", 0), 2)
detach
quit
ls -l /proc/5636/fd

linux timeout

timeout [選項] 數(shù)字[后綴] 命令 [參數(shù)]...
timeout 10 command

tar.lz4解壓

MTR-mysql-test.tar.lz4
tar -I lz4 -xvf MTR-mysql-test.tar.lz4

sysbench

<pre>

  1. bulk_insert.lua 批量寫入操作
  2. oltp_delete.lua 寫入和刪除并行操作
  3. oltp_insert.lua 純寫入操作
  4. oltp_point_select.lua 只讀操作奢讨,條件為唯一索引列
  5. oltp_read_only.lua 只讀操作,包含聚合焰薄,去重等操作
  6. oltp_read_write.lua 讀寫混合操作拿诸,最常用的腳本
  7. oltp_update_index.lua 更新操作入录,通過主鍵進行更新
  8. oltp_update_non_index.lua 更新操作,不通過索引列
  9. oltp_write_only.lua 純寫操作佳镜,常用腳本,包括insert update delete
  10. select_random_points.lua 隨機集合只讀操作凡桥,常用腳本蟀伸,聚集索引列的selete in操作
  11. select_random_ranges.lua 隨機范圍只讀操作,常用腳本缅刽,聚集索引列的selete between操作
    </pre>

磁盤

IOPS啊掏,即I/O per second,即每秒讀寫(I/O)操作的次數(shù)衰猛,多用于OLTP/數(shù)據(jù)庫迟蜜、小文件存儲等場合,衡量隨機訪問的性能啡省。

事務(wù)

XA 就是 X/Open DTP 定義的交易中間件與數(shù)據(jù)庫之間的接口規(guī)范(即接口函數(shù))娜睛,交易中間件用它來通知數(shù)據(jù)庫事務(wù)的開始、結(jié)束以及提交卦睹、回滾等畦戒。 XA 接口函數(shù)由數(shù)據(jù)庫廠商提供。

sysstat 系統(tǒng)狀態(tài)

實際上是一個工具箱结序,這其中包含了好幾個工具障斋。它們的介紹如下:

工具 說明
iostat 報告CPU狀態(tài),塊設(shè)備以及分區(qū)的IO信息徐鹤。
mpstat 報告單個核或整體CPU的信息垃环。
pidstat 報告進程,線程的IO返敬,CPU和內(nèi)存使用情況遂庄。
tapestat 報告磁帶設(shè)備的信息。
cifsiostat 報告CIFS的信息救赐。
sar 收集涧团,報告和存儲系統(tǒng)活動信息。
sadc sar的后端经磅,用來收集系統(tǒng)活動數(shù)據(jù)泌绣。
sa1 以二進制的形式收集和存儲系統(tǒng)活動數(shù)據(jù)。
sa2 負責(zé)寫入日吃ぱ幔活動報告的統(tǒng)計信息阿迈。
sadf 以不同的格式(CSV,XML轧叽,JSON等)顯示sar收集的數(shù)據(jù)苗沧。

ptmalloc

mallopt (int PARAM, int VALUE) 設(shè)置參數(shù)

異步io

cat /proc/sys/fs/aio-nr
linux-aio

內(nèi)存

透明大頁 縮寫為THP
grep Huge /proc/meminfo
cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /proc/sys/vm/nr_hugepages 查看透明大頁是否開啟
cat /proc/81116/oom_score 進程的oom_score
cat /proc/buddyinfo 查看空閑內(nèi)存塊
虛存導(dǎo)致的oom問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刊棕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子待逞,更是在濱河造成了極大的恐慌甥角,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件识樱,死亡現(xiàn)場離奇詭異嗤无,居然都是意外死亡,警方通過查閱死者的電腦和手機怜庸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門当犯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人割疾,你說我怎么就攤上這事嚎卫。” “怎么了宏榕?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵拓诸,是天一觀的道長。 經(jīng)常有香客問我担扑,道長恰响,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任涌献,我火速辦了婚禮胚宦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘燕垃。我一直安慰自己枢劝,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布卜壕。 她就那樣靜靜地躺著您旁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪轴捎。 梳的紋絲不亂的頭發(fā)上鹤盒,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機與錄音侦副,去河邊找鬼侦锯。 笑死,一個胖子當(dāng)著我的面吹牛秦驯,可吹牛的內(nèi)容都是我干的尺碰。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼亲桥!你這毒婦竟也來了洛心?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤题篷,失蹤者是張志新(化名)和其女友劉穎词身,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體番枚,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡偿枕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了户辫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡嗤锉,死狀恐怖渔欢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瘟忱,我是刑警寧澤奥额,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站访诱,受9級特大地震影響垫挨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜触菜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一九榔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧涡相,春花似錦哲泊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至丙号,卻和暖如春先朦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背犬缨。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工喳魏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人遍尺。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓截酷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子迂苛,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 系統(tǒng)巡檢腳本:Version 2016.08.09 ############################ 系統(tǒng)...
    NamasAmitabha閱讀 1,297評論 0 0
  • 前言 因為在做nodejs程序的性能分析的時候三热,了解到了Perf和FlameGraph這兩個神奇的工具,接著就知道...
    泡沫與周期_白羊Jerry閱讀 3,905評論 0 7
  • 【net】 ########################cat/proc/sys/net/ipv4/tcp_s...
    濟夏閱讀 726評論 0 50
  • 楚河漢界一條河三幻, 霸王橫刀向天割就漾。 萬古流得棋盤在, 排兵列陣把酒喝念搬。
    自珍閱讀 328評論 0 2
  • 今天公司的活很少抑堡,幾乎一天都是在閑置的狀態(tài)。趁著活少朗徊,一直在忙著自己的事情首妖。兌現(xiàn)了給別人的承諾,也賺到了收入爷恳,和翻...
    暖暖正美麗閱讀 147評論 0 0