地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

Linux/Unix

【HAProxy】入門する

背景 HAProxyに触れる機会が出てきそうなので調べたメモ的な記事。業務で使ってたことはあるけど実は要件書通りのパラメータで構築してそれっぽいテストしただけで実はどんな機能があってどのような特徴があるとかは何も分かってないレベル。要件定義とかも…

【Linux】TCPの再送制御あたりのソースを眺める

概要 ブラウザからWebサーバを経由しAPサーバにアクセスする場合の通信に関する説明をざっくりまとめてみました。再送制御あたりがメインです。 記事を書こうと思った背景 AWSの資格学習をしていてRDSあたりのフェールオーバ ーあたりで「DNSベースでやるの…

【Linux】rw-なディレクトリのメモ

実行権限xがない場合のディレクトリの挙動メモ ディレクトリへのファイルの作成や削除は実行権限が必要 書き込み権限があるとディレクトリのメタデータの更新は可能。(statとかでみれるatimeなど)

【Linux】resolve.confメモ

resolv.conf って何のファイル? resolv.conf - レゾルバ設定ファイル Man page of RESOLV.CONF レゾルバ(resolver) って何? リゾルバとは、IPアドレスとドメイン名を結びつけるDNSにおいて、ネームサーバにホスト名を通知してIPアドレスの検索を依頼したり、…

【Linux】シスパフォ本メモ 用語

https://www.amazon.co.jp/exec/obidos/ASIN/4873117909/aknow-22/ ファイルシステム データをファイルとディレクトリに組織したもの ファイルベースインターフェイス、ファイルパーミッション、特殊ファイルタイプ(デバイス、ソケット、パイプ)、メタデー…

【Linux】mmapリーディングの開始地点あたりのメモ

概要 mmapを読もうと思ったのでその開始地点のメモ。迷子になったらここに戻ってくるように書いておく github.com mmapの実装 asmlinkage long sys32_mmap(struct mmap_arg_struct32 __user *arg) { struct mmap_arg_struct32 a; if (copy_from_user(&a, arg…

【Linux】IOバウンドの処理はどの程度まで並列数を上げればよいかの考察(ちょっと修正版)

概要 IOバウンドについて考える機会があったのでその辺の話についてまとめてみた。ちなみにブロッキングIOしか出てきません。以下の本が大体の参考になってます。 https://www.amazon.co.jp/exec/obidos/ASIN/4774143073/hatena-blog-22/www.amazon.co.jp 忙…

【Linux】agメモ

# ディレクトリ階層の深さ指定 --depth NUM Search up to NUM directories deep (Default: 25) # (マッチした)ファイル名のみを出力 -l --files-with-matches Only print filenames that contain matches (dont print the matching lines) # マッチしなかっ…

【Linux】ポートフォワードを使ってローカルのサービスを外部へ公開してみる

sshのリモートフォワードを使ってローカルで起動したサービスを外部からフォーワードする # 以下を修正 $ vi /etc/ssh/sshd_config GatewayPorts yes # 再起動 $ systemctl restart sshd 以下のようにsshを起動することで192.168.1.1:8433へのアクセスが全て…

【Linux】curlが使うルート証明書

この辺にある。 /etc/pki/tls/certs/ca-bundle.crt curlをverboseモードで打つと確かにそのパスを読んでるような出力がある [root@worker001 ~]# curl -sv https://www.google.com -o /dev/null * About to connect() to www.google.com port 443 (#0) * Try…

【Linux】エラーナンバー

システムコールや標準ライブラリで、エラー原因を教えてくれる errno の値。 忘れた頃になって値の定義を見たくなり、毎回調べているような気もするので、今回はQiitaにメモしておく。 手繰る手繰る include ファイルたち CentOS7 の上で、"fgrep errno.h /u…

【Linux】systemd

100回ぐらいググってやるやつ。実行ユーザとか指定したい場合は以下になる。 User=ユーザ Group=グループ [Unit] Description=My Daemon [Service] ExecStart=/myhome/scripts/run.sh ExecStop=/bin/kill ${MAINPID} Restart=always Type=forking User=myuse…

【Linux】ファイルマスクのメモ

整形ツールの無い環境でパーミッションマスクが見辛かったのでメモ。そのうちpythonあたりでパーサ書こう。 S_ISUID 0004000 set-user-ID bit S_ISGID 0002000 set-group-ID bit (下記参照) S_ISVTX 0001000 スティッキービット (下記参照) S_IRWXU 00700 フ…

【Linux】カーネル関数「account_user_time()」は何をしているのか

概要 ユーザーCPU時間って何だっけってなって寝落ちしたままなのでこの辺から追ってく。https://t.co/bfJdMKR5rb— Ryuichi@k8s再入門中 (@ryuichi_1208) 2021年2月13日 謎にCPUのユーザ時間ってなんだって疑問が出てきたので調べた。 CPU使用率とは CPUは、…

【Linux】ImageMagickのビルド

コンパイル bzip2 cd bzip2-1.0.6 Makefile中の CC=gccを CC=gcc -fPIC に変更します。あとはmake(なぜかconfigureはないです) make; make install cd ../ libpng cd libpng-1.6.16 ./configure make make install cd ../ libjpeg cd jpeg-9a ./configure ma…

【Linux】ImageMagickリサイズTIPS

ImageMagickでリサイズの組み合わせ 縦横比を維持せず、指定されたサイズに伸縮 convert -scale WxH! inputfile outputfile 縦横比を維持して、両側をクロップ convert -resize WxH^ -gravity center -crop WxH+0+0 [+repage] inputfile outputfile 縦横比を…

【Linux】メモリに関するメモ

メインメモリ:物理メモリとも。一般に DRAM で提供される 仮想メモリ:メインメモリの抽象。実メモリではない。 常駐メモリ:現在メインメモリにあるメモリ。 無名メモリ:ファイルシステム位置やパス名を持たないメモリ。ヒープ(プロセスのアドレス空間内…

【memcached】スピンロックでatomic操作を実現するためには

概要 マルチプロセス環境配下における、同一レコードへの書き込みが大量に発生するwrite heabyな環境でmemcachedの更新をどうやってatomicに行うかを考えた時に出てきたスピンロック的なことやってみた記事。 memcachedとは書いたもののCAS操作を提供してい…

【Linux】JVM系言語以外でも暖気運転は効果があるのかの考察

記事概要 JVM言語で話題の暖気運転についてJVM系言語(JIT)以外でも暖気運転は効果があるのかを考察した記事です。何かしらのベンチマークを取ったとかではないのでご注意ください。 JVMとの比較にはPythonとかPerlとかLL系言語かつpreforkで動くウェブアプリ…

【Linux】ImageMagickのTIPS

画像にボーダーをつける 色に迷ったらWebセーフカラーから convert _01.png -bordercolor "#CCCCCC" -border 2x2 01.png PNGのdpiを変更する convert _result.png -density 144 -units PixelsPerInch result.png from: https://saba.omnioo.com/note/2040/20…

【Linux】ImageMagickのTIPS

出力先を指定 -pathオプションを使う。 # リサイズした画像を、一つ上の階層のoutputディレクトリに保存する mogrify -path ../output -resize 128x *.jpg $ mogrify -help ... Image Settings: ... -path path write images to this path on disk mogrify &…

【memcached】CASとスピンロックの話

概要 スピンロックとは ビジーウェイトとは CASとは memcahcedにはCAS命令という research.sakura.ad.jp ABA問題

【Linux】yumのメモ

yumコマンドの備忘録 Red Hat Linuxの勉強をしていて、備忘としてyumコマンドを残しておきます。 1. yum list <name-pattern> インストール済もしくはインストール可能なパッケージを表示する [vagrant@rhel8 scratch]$ yum list ansible Failed to set locale, defaulting</name-pattern>…

【Ubuntu】stressコマンドで負荷を上げる

snapcraft.io CPUを目いっぱい使いたい場合に指定するオプションです。 実行すると、CPU使用率が100%程度に達します。 なお、stress-ngを使うと、CPU使用率を指定できるようになります 使い方は、「stress-ngコマンドの使い方」を参照してください。

【Linux】負荷テスト

負荷テストをやる目的 一般的には、システムが、特定のワークロードの元で、応答性(responsiveness)、安定性(stability)の面で、どの程度動作するかを測定するのが目的。さらに最近だとインフラがスケールするのが前提だったりするのでスケーラビリティ…

【Linux】ssコマンドのSend-Q/Recv-Q

ssってあまりなじみないけどこの一個前の記事書きながら状態を見るのに使ってみた。Send-Q/Recv-Qの値がそれぞれ何を意味してるのかを調べてみた。 サーバアプリ ネタバレするとsocketの状態次第でssの出力の意味は変わってくるらしい。listen状態の場合はSe…

【Linux】TCPの再送制御あたりのソースを眺める

概要 ブラウザからWebサーバを経由しAPサーバにアクセスする場合の通信に関する説明をざっくりまとめてみました。再送制御あたりがメインです。 記事を書こうと思った背景 AWSの資格学習をしていてRDSあたりのフェールオーバ ーあたりで「DNSベースでやるの…

【Linux】new macについてのリーナスの回答

www.realworldtech.com リーナスへの質問でM1 macについてどう思うかの回答があった。Linuxが動くなら欲しいと回答している。ARMベースのラップトップはずっと欲しかったらしい。 どこかしらはARMベースのmacでLinuxを動かそうとしてるプロジェクトはあるだ…

【Linux】autofsと始めるNAS

autofsとは 自動的に適切なファイルシステムをマウントするためのクライアント側のサービスです。クライアントが現在マウントされていないファイルシステムをアクセスしようとすると、autofs ファイルシステムはその要求に介入し、automountd を呼び出して要…

【Linux】net.core.(r|w)mem_maxあたりの話

概要 netstatの実行でたまに見るSendQとかRecvQの値の決定はどこで行っているかを確認した際のメモ Send-Q/Recv-Qとは Recv-Q このソケットに接続されたユーザープログラムに渡されなかったデータのバイト数。 Send-Q リモートホストに受け入れられなかった…