ablog

不器用で落着きのない技術者のメモ

Linux

vsftpd で ftp サーバを立てる手順

vsftpd で ftp サーバを立てる手順。 vsftpd をインストール・起動・自動起動設定 $ sudo yum -y install vsftpd $ sudo adduser ftpuser $ sudo passwd ftpuser $ sudo systemctl start vsftpd $ sudo chkconfig vsftpd on ftp クライアントをインストール …

Linux や macOS で隠しファイルを含めて ZIP で圧縮する

Linux や macOS で隠しファイルを含めて圧縮する。 $ zip -r foo.zip . 参考 隠しファイルを含むzip

When graphing CPU as stacked area chart, which parts add up to total ?

when graphing CPU as stacked area chart, which parts add up to total ?guestirqnicestealStacking System and Users and probably wait are clear, but is nice part of user? Looks like guest is part of nice. Is irq part of sys? @OracleSK@oradiag…

iostat の avgrq-sz(average request size)の単位はセクタ数

iostat の avgrq-sz(average request size)の単位はセクタ数かKB。iostat のバージョンによって異なるので、使う環境で man で確認すべし。 iostat の出力 $ iostat -dx 2 3 Linux 4.14.146-93.123.amzn1.x86_64 (ip-172-31-10-8) 12/18/19 _x86_64_ (32 C…

Ubuntu に psql をインストールする

$ sudo apt-get install -y postgresql 参考 UbuntuでPostgreSQLをインストールからリモートアクセスまでの手順 - Qiita

Linux で Java のバージョンを切り替える

手順 java のバージョンを切り替える $ sudo update-alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- * 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java + 2…

RHEL7 に pip をインストールする

RHEL7.6 (Kernel 3.10) に pip をインストールしたメモ。 $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ sudo python get-pip.py 参考 python - How to install pip on Redhat Linux - Stack Overflow

grep でパターンにマッチする・しないファイルをリストする

マッチするファイルのリスト $ grep -l END *.sql マッチしないファイルのリスト $ grep -L END *.sql 参考 » grepのオプションおさらい TECHSCORE BLOG

chroot を使ってみる

環境 $ cat /etc/issue Amazon Linux AMI release 2018.03 Kernel \r on an \m $ uname -r 4.14.33-51.37.amzn1.x86_64 準備 $ mkdir -p change/the/dir $ cd change/the/dir $ cp --parents /bin/bash . $ sudo cp --parents /bin/ls . $ sudo cp --parents…

PPS を計測する

インストール iperfをインストールする Amazon Linux で iperf を使ってみる - ablog sysstat をインストールする $ yum -y install sysstat htop 計測 サーバ側 iperf で listen する for i in {5201..5204} do iperf3 -s -p $i & done クライアント側 負荷…

YCSB をビルドしようとすると "invalid target release: 1.8" と怒られる

事象 YCSB をビルドしようとすると "invalid target release: 1.8" と怒られる。 $ git clone https://github.com/brianfrankcooper/YCSB.git $ mvn clean package Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (def…

Linux で CPU のマイクロコードのバージョンは /proc/cpuinfo で確認できる

Linux で CPU のマイクロコードのバージョンは /proc/cpuinfo で確認できる $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 63 model name : Intel(R) Xeon(R) CPU E5-2666 v3 @ 2.90GHz stepping : 2 microcode : 0x3…

grep で特定の文字列を含むファイル名だけを表示する

grep で特定の文字列を含むファイル名だけを表示する。 % grep -l foo *.log dtruss.log 参考 grep で特定の文字列が含まれるファイル名だけをリストアップする方法 | ウェブル

less で - や + で始まるファイルを開く

- や + で始まるファイルを開こうとすると以下のようにエラーになるので、 $ less +ASM1_ora_19821.trc Missing filename ("less --help" for help) 以下のように -- とオプションをつけるとよい。 $ less -- +ASM1_ora_19821.trc 参考 less(1) - Linux manu…

dig コマンドで ドメインツリーを辿る

ルートDNSサーバからDNSコンテンツサーバまでのドメインツリーを辿りたい場合は dig +trace でできる。 % dig +trace d.hatena.ne.jp ; <<>> DiG 9.8.3-P1 <<>> +trace d.hatena.ne.jp ;; global options: +cmd . 143705 IN NS f.root-servers.net. . 143705…

GNU Parallel をインストールする

$ sudo yum -y install parallel

sysdig でシステムワイドに実行回数が多いシステムコールを調べる

Linux でシステムワイドに実行回数が多いシステムコールや実行時間が長いシステムコールを調べたい場合は、sysdig が便利です。 Sysdig Open Source - Getting Started With Csysdig - YouTube インストール root で以下を実行する。 rpm --import https://s…

vDSO gettimeofday

There is a Virtual Dynamic Shared Object (VDSO) implemented in the glibc runtime library. The VDSO maps some of the kernel code, which is necessary to read gettimeofday in the user-space. Standard Red Hat Enterprise Linux 5.5 allows the ge…

Linux で clocksource を変更する方法

Red Hat Enterprise Linux 6、 7 での clocksource の変更手順。 他のバージョンについてなどは How to change the clock source in the system - Red Hat Customer Portal 参照。 確認方法 現在の clocksource を確認する。 $ cat /sys/devices/system/cloc…

Linux で clocksource が xen と tsc で gettimeofday(2) の性能を比較する

Linux で clocksource が xen と tsc で gettimeofday(2) の性能を比較したメモ。 テストプログラムをコンパイルする 1億回 gettimeofday(2) を実行するテストプログラム(gettimeofday.c) #include <stdio.h> #include <sys/time.h> int main(void) { struct timeval tv; int co</sys/time.h></stdio.h>…

vmstat でタイムスタンプを表示する

vmstat: Support for timestamps with '-t' & fix for '-wd' From now the vmstat can append a timestamp to each line in the VMSTAT and DISKSTAT mode. You can achieve that with the '-t' switch. The '-w' switch now works in the DISKSTAT mode too…

nethogs でプロセス別の通信量を調べる

nethogs はネットワークの top コマンド的なもので通信量の多いプロセスをランキング表示して、秒間通信量も見ることができる。 インストール sudo yum -y install gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 ncurses* git clone https://github.com/rabo…

Linux で圧縮率の低い大きなサイズのファイルを作成する

Linux で圧縮率の低い大きなサイズのファイルを作成する方法をメモ。 $ dd if=/dev/urandom of=1gb.dat bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 12.9546 s, 82.9 MB/s $ ls -lh 1gb.dat -rw-rw-r-- 1 ec2…

SSH のタイムアウトを防止する(Keep Alive を有効にする)

事象 例えば、EC2 の Amazon Linux に ssh で接続して実行時間の長い*1コマンドを実行しているとタイムアウトして以下のメッセージが出力される。 packet_write_wait: Connection to **.***106.21 port 22: Broken pipe 解決策 クライアント(自分の場合は M…

スワップ領域がないとどうなるか

Systems Performance: Enterprise and the Cloud (English Edition)作者: Brendan Gregg出版社/メーカー: Prentice Hall発売日: 2013/10/07メディア: Kindle版この商品を含むブログを見るP.280 It is also interesting to ask what happen if no swap device…

sched: Interrupt Aware Scheduler

Anybody tested Oracle's interrupt aware CPU scheduler (https://t.co/vNb9mQ9M55). In addition Linux 4.12 brings 2 I/O schedulers BFQ & Kyber.— Stefan Koehler (@OracleSK) 2017年5月15日Linux のプロセススケジューラで割込み負荷の高いCPU以外にプ…

真のCPU使用率 by Brendan Gregg@Netflix

自分の「シンプルでシステマチックな〇〇性能分析」のルーツな面々のうちの2人*1 Brendan Gregg@Netflix と Tanel Poder@Gluent が素敵な絡みをしていたのでメモ。@brendangregg Could be useful: I once documented my understanding of the typical CPU co…

top の起源は VMS の MONITOR PROCESS/TOPCPU コマンド

top コマンドは William LeFebvre が VMS の MONITOR PROCESS/TOPCPU コマンドにインスパイアされて1984年にBSD 用に作ったのが起源らしい。へーと思ったのでメモ。Systems Performance: Enterprise and the Cloud作者: Brendan Gregg出版社/メーカー: Prent…

パッケージインストール時に NOKEY という Warning が出る

署名を検証するための適切なキーをインストールしていない場合は、メッセージに NOKEY という単語が含まれます: warning: tree-1.5.3-2.el6.x86_64.rpm: Header V3 RSA/SHA1 signature: NOKEY, key ID 57bbccba https://access.redhat.com/documentation/ja-…

Linuxで hostname コマンドはどこから情報を取っているか

/proc/sys/kernel/hostname から取っている 参考 linux - Where does uname get its information from? - Unix & Linux Stack Exchange linux - Where does `hostname` store the hostname that I've set? - Unix & Linux Stack Exchange