Linux memo 2020/04/14

● LANケーブル(UTP)
- Cat5 100Mbps (距離規定なし?) 100MHz 100Base-TXまで
- Cat5e 1Gbps 100m 100MHz 1000Base-Tまで
- Cat6 1Gbps 100m 250MHz 1000Base-TXまで
- Cat6A 10Gbps 100m 500MHz 10GBase-Tまで
1000Base-TXはほとんどど使われていないため、規格的にはCat5eかCat6Aでいい。
まぁ、電気信号的にはちゃんとしたケーブルを使うに越したことはないけど。
Cat7やCat7Aは、UTPじゃなくてSTPだったり、RJ-45じゃなくてGG-45だったりと、理解せずに手を出すのはやめておいたほうがよい。

● faketime
時刻をごまかしてプログラムを実行するfaketime(1)というプログラムがあるが、これは結局LD_PRELOADでlibc関数をラップすることで実現している。ラップしているのは下記、
- stat, fstat, fstatat, lstat
- stat64, fstat64, fstatat64, lstat64
- time, ftime, gettimeofday, clock_gettime
- pthread_cond_timedwait, pthread_cond_init, pthread_cond_destroy
- timer_settime, timer_gettime
- nanosleep, usleep, sleep, alarm
- poll, ppoll, epoll_wait, epoll_pwait, select, pselect
- sem_timedwait, utimes, utime
意外と多かった。

● 今どきのメモリ負荷テストツール
memtest86, memtest86+で事足りたのはいつのころだったか、今はCPUだけじゃなくてメモリまでも電圧・クロックが変動するため、単純なboot onlyテストでは役に立たない。結局今どきのOSを動かして、負荷に応じた電圧・クロックの変動を与え、正しく動いているかのチェックをさせる、というまっとうな方法を取らざるを得ない。そういう手法なので、同時に、発熱や電力供給も確認する必要が出る。だから、Prime95やOCCTを長時間動かすというやり方になっちゃうのか。
Linuxだとどういうのがあるのだろうか。ググった感じだとrowhammer-testmemtester(8)が見つかったけど、何が定番なのかよくわからない。

● git gcでメモリ不足
CPU数が多いマシンで巨大.gitをgit gc --aggressiveするとメモリ不足になる。gitがCPUコア数を識別してパラで走らせてしまうのが主な原因。なので.gitconfigにこんな感じのを書いておく。
[pack]
threads = 4
他にもメモリサイズやファイルサイズを制限するやり方があるようだけど、まぁこれでいいや。
ちなみに、CPUコア数が増えると使用するRAMも比例して増える点を見落としている人が時々いるので要注意。

● oomネタ
このへんのネタを調べてメモっておこうと思っていたけど、思い始めてはや*週間、なかなか進まないのでToDoとしてメモしておく。読者らの宿題にする(マテ
lowmemkiller
/proc/[PID]/status
/proc/meminfo
zram

このブログ記事について

このページは、らるるが2020年4月14日 19:26に書いたブログ記事です。

ひとつ前のブログ記事は「Linux memo 2020/04/07 ext4編」です。

次のブログ記事は「Linux memo 2020/07/01」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

Powered by Movable Type 5.2.13