ablog

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

Linux

xargs -P を使って並列で圧縮・ファイル転送する

xargs -P を使って並列で圧縮・ファイル転送する # 10000 行のファイルを作成する perl -le 'printf(qq/%05d\n/, $_) for 1..10000' > total # 1000 行ごとにファイルを分割する split --numeric-suffixes=1 -l 1000 total splited_ # 8 並列で圧縮する find…

sed でファイルの先頭行に文字列を挿入する

sed でファイルの先頭行に文字列を挿入したメモ。 文字列を挿入する $ ls ks*|while read LINE; do sed -i '1s/^/CONSISTENCY LOCAL_QUORUM;\n/' ${LINE}; done 確認する $ head ks_insert_000 CONSISTENCY LOCAL_QUORUM; INSERT INTO poc.partition_id_dist…

split コマンドでファイルを分割する

split コマンドでファイルを分割したメモ。 d: サフィックスを数値にする a: サフィックスの桁数を指定する l: 何行で分割するかを指定する $ split -d -a 3 -l 1000 base_insert.cql ks_insert_ $ ls |head base_insert.cql ks_insert_000 ks_insert_001 ks…

Amazon Linux 2023 に psql、pgbench をインストールする

psql sudo dnf install -y postgresql15 pgbench sudo dnf install -y postgresql15-contrib 参考 PostgreSQL DB インスタンスを作成して接続する - Amazon Relational Database Service

Linux で設定可能な仮想IPアドレスの最大数

Linux 2.2 Linux 2.2 Issue How many network interfaces aliases does Red Hat Enterprise Linux support? What is the maximum number of interface aliases I can use on Red Hat Enterprise Linux? Resolution There is no practical limit. Root Cause …

grep で特定のディレクトリを対象外にしたい場合

log ディレクトリ以外を対象として grep する例。 $ grep -Ri --exclude-dir log cassandra * 参考 grepコマンドで特定のディレクトリを検索対象から除外する | 晴耕雨読

rpm でインストールされたファイルを確認する

$ rpm -ql apache-maven /etc/bash_completion.d/maven /etc/m2.conf /etc/maven /etc/maven/logging /etc/maven/logging/simplelogger.properties /etc/maven/settings.xml /etc/profile.d/apache-maven.csh /etc/profile.d/apache-maven.sh /usr/bin/mvn /…

メモ

インストール 各種パッケージ $ sudo yum -y install htop strace perf iotop pidstat git gcc dstat sysdig sysdig でシステムワイドに実行回数が多いシステムコールを調べる - ablog 0x.tools Amazon Linux 2 に Tanel Poder の 0x.tools をインストールす…

yum を実行すると "Error: rpmdb open failed" と怒られる

yum install を kill してから再実行しようとしたら、"Error: rpmdb open failed" と怒られた。以下の対応で解決した。 rpmdbが壊れる原因 CentOSでYumコマンドを実行したときに、下記のエラーで yum コマンドが失敗しました。 yum がバックグラウンドでロッ…

Amazon Linux 2 で iperf でネットワークスループットを計測する

インストール iperf sudo yum -y install git gcc git clone https://github.com/esnet/iperf cd iperf ./configure sudo make sudo make install sudo ldconfig nethogs sudo yum -y install gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 ncurses* git clo…

Yum でパッケージをアンインストールする

書式 $ sudo yum remove パッケージ1 パッケージ2 例 $ sudo yum -y remove pgpool-II-release-4.1-1.noarch 参考 【yum remove】yumで安全にアンインストールする方法 | UX MILK

Amazon Linux 2 で Java Mixed-Mode Flame Graphs を使う手順

Amazon Linux 2 でサクッと Java Mixed-Mode Flame Graph でプロファイリングして可視化する手順。以下は生成した Flame Graph。 Java Mixed-Mode Flame Graphs について詳しくは Java Mixed-Mode Flame Graphs で Java の CPU ネックをフルスタックで分析す…

cmake 時に "CMAKE_CXX_COMPILER-NOTFOUND" was not found と怒られる

事象 perf-map-agent を cmake しようとすると、"CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name." というエラーになる。 $ sudo yum -y install java-1.8…

簡易 Linux 性能情報取得コマンド

あえてオールドクラシックなコマンドで。 export LANG=C # vmstat nohup vmstat 5|awk '{print strftime("%Y-%m-%d %H:%M:%S"), $0}{fflush()}'> vmstat_20200826.log & # mpstat nohup mpstat -P ALL 5 > mpstat_20200826.log & # iostat nohup iostat -dx …

yum で rpm をインストールせずにダウンロードする

yum で rpm をインストールせずにダウンロードする $ yumdownloader --destdir=rpm/ java-1.8.0-openjdk-devel.x86_64 参考 yum|rpm パッケージをダウンロードする

ファイルを並行で圧縮する

8並行で圧縮する例。 find . -name '*.csv' -print0|xargs -0 -n1 -P 8 gzip & 32並行で解凍する例。 find . -name '*.gz' -print0|xargs -0 -n1 -P 32 gunzip &

split コマンドでファイルを分割する

split コマンドでファイルを分割したときのメモ。 コマンド -n: 分割数 -d: サフィックスを数字にする -a: サフィックスの桁数を指定する(2桁だと100ファイルまでしか分割できないため) --additional-suffix: 末尾にサフィックスを追加 log_10min.tsv: 分…

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 で特定の文字列が含まれるファイル名だけをリストアップする方法 | ウェブル