タグ

linuxに関するamari3のブックマーク (153)

  • Backlogってなんぞや - ukinau's diary

    はじめに サーバソフトウェアの設定ファイル等でよく見かける項目であるBacklogってどういう意味なんだろうと、少し調べたのでメモを残します。 Backlog apacheやnginx、memchachedなどのサーバ系ソフトウェアの設定ファイルの中で設定することが多い、このBacklogとは何なのかをここでは言及する。 サーバアプリケーションがlistenしているソケットがacceptしていない、確立済TCPセッションを何個までOS側で保持するかを定義したもの。 例えば、下記のようなサーバーアプリケーションがあるとする。 server.py import evenlet server_sock = eventlet.listen(('0.0.0.0', 6001),backlog = 1) new_sock, address = server_sock.accept() new_sock

    Backlogってなんぞや - ukinau's diary
  • grepの-oオプションと-Pオプションの組み合わせが便利 - Gre's Blog(跡地)

    $ paste <(cat score | grep -oP '[^\d]+') <(cat score | grep -oP '\d+') | xargs -n 2 #シェル芸— ぐれ (@grethlen) 2014, 6月 14 上記のようにgrepコマンドを叩いていたら「-oPってオプションなに?」と言われたので。 grep -oPって? -oオプションとは --only-matchingの略。マッチした部分のみを抽出するというオプションのこと。 $ echo "123abc456dfg" | grep -o [a-z] a b c d f g -Pオプションとは マッチさせる文字列にPerlで使われているものと同じ正規表現(Perl正規表現)をつかえるようにする。PerlのP。 普通の正規表現とPerl正規表現の違いって? 主に以下の3つ。 一部のメタ文字が使える [参考] \d

    grepの-oオプションと-Pオプションの組み合わせが便利 - Gre's Blog(跡地)
  • hatebu.me

    This domain may be for sale!

    hatebu.me
    amari3
    amari3 2019/07/09
  • 文化ヒナゲシ制作所雑記帳 soxコマンドでサウンドファイルを処理

    最近、複数の音声ファイルに対して一括でノイズ除去処理をする必要があったので、soxコマンドとシェルスクリプトで一括処理を行いました。 soxの使い方はマニュアルページの翻訳(http://www.hcn.zaq.ne.jp/___/unix/sox-ja.html)を見ていただければ良いと思いますが、備忘録としていくつかのサンプルを書いておきます。 ・ノイズ除去 "noisered"がノイズ除去を行うエフェクトです。 その次の"noise_prof"がノイズプロファイル名です。 最後の"0.4"がノイズ除去の強度になります。 入力ファイルを複数指定すると、すべてのファイルを結合して出力します。 ノイズプロファイルは下記のようなコマンドで事前に生成しておく必要があります。マニュアルページではsoxコマンドで切り出しも同時にやっていますが、実用的にはAudacityなどのソフトで別途ノイズ部分

  • 「Linuxのしくみ」をもっと早く読んでおけばよかったと後悔した - ばーろぐわにる

    きっかけ Linuxエンジニアとしての基礎力のなさを見抜かれ、これ読んでみるといいよとおすすめされたのがきっかけ。 gihyo.jp 大変お恥ずかしい話だが、自分はエンジニア7年目にして初めてLinuxについてのを読んだ。それまではなにか上手くいかないことがあればブログやQiitaを参考にコピペしてその場しのぎしていただけだった。 目次 第1章 コンピュータシステムの概要 第2章 ユーザモードで実現する機能 第3章 プロセス管理 第4章 プロセススケジューラ 第5章 メモリ管理 第6章 記憶階層 第7章 ファイルシステム 第8章 ストレージデバイス おもしろかったところ メモリ管理 プログラムは直接物理メモリにはアクセスしない。仮想メモリを通して物理メモリにアクセスする forkしたとき、仮想メモリは書き込み権限が付与されずに同じ物理アドレスが紐付いたままの状態。子プロセスで書き込みが走

    「Linuxのしくみ」をもっと早く読んでおけばよかったと後悔した - ばーろぐわにる
    amari3
    amari3 2019/06/20
  • Linuxコマンドでボトルネックを調べる

    俺の話を聞け!!LT大会 #8でトークした資料です

    Linuxコマンドでボトルネックを調べる
  • CPU使用率100%のWebサーバをOSのチューニングだけでCPU使用率20%まで改善する - 人間とウェブの未来

    こんばんは、 @matsumotoryです。 hb.matsumoto-r.jp 上記エントリにおいて、プロセスの大量メモリ確保に伴うページテーブルサイズとベージテーブルエントリ数の肥大化によるcloneやexecveの性能劣化とCPU使用時間の専有問題、および、それらの解決方法についてシステムコールレベルで確認しました。 そこで今回は、システムコールやそのカーネル内部の処理の性能、というよりは、より実践的な環境であるApache httpdとmod_cgiを用いて、phpinfo()を実行するだけのCGIに対してベンチマークをかけた時にどれぐらいCPUのidleが空くか、システムCPUの使用量が変わるかを、前回示した解決方法の1つであるHugePagesを使うかどうかの観点で比較してみましょう。 特定条件下のWebサーバ環境のシステムCPUに起因する高負荷問題から、システムコールやカーネ

    CPU使用率100%のWebサーバをOSのチューニングだけでCPU使用率20%まで改善する - 人間とウェブの未来
  • #/usr/binとその同種の周辺を探る | POSTD

    (注:2017/04/10、いただいたフィードバックを元に翻訳を修正いたしました。) はじめに 私はLinuxが大好きです。コンピュータとのやりとりが楽しくなるし学ぶことも多くなります。OSとハードウェアの基盤となる基原則を学びたい人にとって、Linuxはとてもいい出発点と言えるでしょう。 ご存じのとおりLinuxとは大抵の場合プログラム(コマンド)を通してやりとりします。Linuxと他のUNIX系システムが持っている特徴は、コマンドラインと、パイプのコンセプトです。プログラムの提供する入力と出力を統合すれば、データを操作するのに非常にパワフルなプラットフォームになります。 Linuxのコマンド、プログラム、バイナリ(何と呼んでもいいのですが)の大部分は、/usr/bin、/usr/sbin/、/binそして/usr/local/binに存在しています。これらのディレクトリを見れば、プロ

    #/usr/binとその同種の周辺を探る | POSTD
    amari3
    amari3 2017/04/05
  • 「障害発生時に即座に収集したいサーバの状態・14項目」を実際に収集してみた - えいのうにっき

    僕はインフラエンジニアではないし、そうだったこともないのだけど、いま「インフラエンジニアの教科書2」というを読んでいる。 インフラエンジニアの教科書2 スキルアップに効く技術と知識 作者: 佐野裕出版社/メーカー: シーアンドアール研究所発売日: 2016/08/26メディア: Kindle版この商品を含むブログを見る Twitter かなにかでこのの存在を知り、とりあえず買ってみたものの、しばらくの間積読状態になってしまっていた。...のだけど、最近になってようやくちまちまと読んでいる。関係ないけど、kindleで読めるのはほんとに便利だ。 このの7章「障害対策と障害対応」で、『以下のような項目についてはサーバ障害時に即座に(20秒程度で!)収集できるべき』、とされていた。 メモリの搭載量と使用量 パーティションごとのディスクの使用率と空き容量 CPUの種類とコア数 ディスクのRA

    「障害発生時に即座に収集したいサーバの状態・14項目」を実際に収集してみた - えいのうにっき
  • swapファイルを追加する

    swap領域は物理メモリ容量の不足を補う仮想メモリとして利用されます。また、ハイバネートする際の作業中データもswap領域に保存され、次回起動時にswap領域に保存されたデータから作業中の状態が復元されます。 swap領域専用のパーティションがLinuxのインストール時に作成されますが、インストール時に手動でパーティショニングしてswapパーティションを作らなかったり、物理メモリ容量よりも小さなswapパーティションを作成した場合、物理メモリ容量が不足した際の動作に支障が起こる可能性があります。 swap領域はパーティション方式の他にファイル方式でも利用することができます。swapパーティションを作成していない場合や物理メモリ容量よりも小さなswap領域で支障が起こっている場合はシステムにswapファイルを追加するとよいでしょう。 swapファイル作成 ddコマンドで適当なサイズのファイル

    swapファイルを追加する
    amari3
    amari3 2016/07/22
  • Googleが数千台もある10年前のLinuxディストリをライブアップグレードした話 - ゆううきブログ

    Googleが、太古のディストリビューションであるRed Hat 7.1から、10年新しいDebianベースのディストリビューションへ、ライブアップグレードした話を紹介する。 そのあと、自分の身の回りの環境と比較し、参考にすべきポイントを考察する。 原文は USENIX LISA の投稿論文だ。しかし、中身は論文体というよりは、事例の紹介といった適切かもしれない。 MERLIN, M. Live Upgrading Thousands of Servers from an Ancient Red Hat Distribution to 10 Year Newer Debian Based One. In Proceedings of the 27th conference on Large Installation System Administration (LISA) (2013),

    Googleが数千台もある10年前のLinuxディストリをライブアップグレードした話 - ゆううきブログ
  • プログラマーが「ネットワーク怪しくない?」と思った時に覚えておくと便利なことまとめ - LIVESENSE ENGINEER BLOG

    インフラエンジニアの中西です。 最近プログラマーからこのような話を耳にします。 「ネットワークって難しい/よくわからない」 最近ではAWS,GCPをはじめとするクラウドサービスが充実しているのでWeb界隈のエンジニアはなおさら気にするシーンが少なくなったように思います。 今日は最低限これだけ覚えていたら有事の際にちょっとは役に立ちますよという話が出来たらなと思います。 書式統一のため sudo を省略しています。ご容赦下さい。 コマンド編 ping ping です。疎通確認を行う時のコマンドです。 さすがに分かると聞こえてきそうですね。 例えば、192.168.1.1 というサーバに通信を確認したい場合はこうです。 $ ping 192.168.1.1 繋がる場合はこうなります。 $ ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 d

    プログラマーが「ネットワーク怪しくない?」と思った時に覚えておくと便利なことまとめ - LIVESENSE ENGINEER BLOG
  • systemd時代に困らないためのlimits設定 | 外道父の匠

    数年前に、こういう記事「ulimitが効かない不安を無くす設定」を書きました。しかし、ディストリビューションのバージョンが上がり、デーモン管理が systemd に変わったことで、インターネットのゴミとなりつつあります。 そのため今回は、その次世代バージョン的な内容ということで、systemd の場合はこうしておけば見えない敵と闘うこともなくなるはずです、というものになります。例によって、抑えきれていないパターンがあったら御免なさいです、押忍。 limits設定で目指す所 復習になりますが、limits の設定で困るのはだいたいこういうパターンでしょう。 作業中ユーザーのシェルのlimits設定が思い通りにならない コンソール/SSHログインしてデーモンを再起動したら、limits設定が戻っていた su/sudoを使ってデーモンを再起動したら同上 デーモンをシステムに自動再起動させたら同上

    systemd時代に困らないためのlimits設定 | 外道父の匠
  • Transparent HugePagesを無効化する - 人生は、お天気いろいろ

    Oracle Database 11g R2では、透過的なHugePagesを無効化する必要があるらしい。 ※ 12cのインストレーションガイドでは、そのような記述を見つけられなかったので、要調査 無効化するための手順をメモ。 そもそもTransparent HugePageとは? メモリとは、pagesとよばれるブロックで管理されており、1pageは4096byteである。そのため、メモリ1MBは256pagesに該当する。 この各pageは、PTE(Page Table Entry)を参照し、仮想アドレスと物理アドレスのマッピング情報を格納しているのだが、最近の大容量メモリの利用により、このマッピング情報が肥大化し、メモリが枯渇することがあるらしい。 ※ 詳細は以下が詳しい。 大容量メモリに潜むメモリ枯渇問題その1 ~Linux HugePageの薦め~ | 技術ブログ| レック・テク

    Transparent HugePagesを無効化する - 人生は、お天気いろいろ
  • Linuxサーバにログインしたらいつもやっているオペレーション - ゆううきブログ

    主にアプリケーション開発者向けに、Linuxサーバ上の問題を調査するために、ウェブオペレーションエンジニアとして日常的にやっていることを紹介します。 とりあえず調べたことを羅列しているのではなく、当に自分が現場で使っているものだけに情報を絞っています。 普段使っているけれども、アプリケーション開発者向きではないものはあえて省いています。 MySQLNginxなど、個別のミドルウェアに限定したノウハウについては書いていません。 ログインしたらまず確認すること 他にログインしている人がいるか確認(w) サーバの稼働時間の確認 (uptime) プロセスツリーをみる (ps) NICやIPアドレスの確認 (ip) ファイルシステムの確認(df) 負荷状況確認 top iostat netstat / ss ログ調査 /var/log/messages or /var/log/syslog /

    Linuxサーバにログインしたらいつもやっているオペレーション - ゆううきブログ
    amari3
    amari3 2016/02/19
  • tc コマンドでネットワーク遅延やパケットロスを疑似的に発生させるメモ - ようへいの日々精進XP

    ども、初老丸です。 tl;dr Linux において tc コマンド(Traffic Control)使ってネットワーク遅延やパケットロスを疑似的に発生させることが出来るとのこと。今まで tc コマンドの存在すら知らなかったペーペーで恐縮だが、参考サイトをまねて遅延やパケットロスを発生させてみたい。 メモ 参考 http://linux-biyori.sakura.ne.jp/setting/st_netem.php http://labs.gree.jp/blog/2014/10/11266/ man tc 以下の環境で試す。 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" ひとまず

    tc コマンドでネットワーク遅延やパケットロスを疑似的に発生させるメモ - ようへいの日々精進XP
    amari3
    amari3 2016/02/15
  • man は長すぎるので「tldr」

    たとえば, curl で JSON を POST したいとき, オプション記述を覚えてないので man. 長すぎて探すのが面倒で結局ぐぐってしまう. ssh でポートフォワードしたいとき, 結局これもぐぐってしまう. TLDR 【略】 =Too long. Didn't read. 長過ぎ。読みませんでした。/長文うざい(と言う人のための要約)。 そんな名前のすばやく調べるコマンドがありますよ. 分かりやすくうざくない長さで説明してくれます. tldr-pages/tldr ちなみに「tldr」で「tldr」は以下.

    man は長すぎるので「tldr」
  • Linux Insides : カーネル起動プロセス part1 | POSTD

    ブートローダからカーネルまで これまでの私の ブログ投稿 を読まれた方はご存じかと思いますが、しばらく前から低水準言語を使うようになりました。Linux用x8664アセンブリ言語プログラミングについても書いています。また、同時にLinuxのソースコードにも触れるようになりました。下層がどのように機能しているのか、コンピュータでプログラムがどのように実行されるのか、どのようにメモリに配置されるのか、カーネルがどのように処理や記憶をするのか、下層でネットワークスタックがどのように動くのかなどなど、多くのことを理解しようと意欲が湧いています。これをきっかけに、 **x8664** 版Linuxカーネルについてシリーズを書いてみようと思いました。 私はプロのカーネルプログラマではないことと、仕事でもカーネルのコードを書いていないことをご了承ください。個人的な趣味です。私は下層で何が起きているのかと

    Linux Insides : カーネル起動プロセス part1 | POSTD
  • アプリケーション内でhttpsによる外部APIを叩いているサーバのメモリ使用量が増加し続ける件について - s_tajima:TechBlog

    問題 アプリケーション内でhttpsによる外部APIを叩いているサーバのメモリ使用量が増加し続ける件について調べた。 該当のサーバでは、以下のようにメモリの使用率が徐々に上昇していく。 また、アプリケーションのプロセス自体がメモリを消費しているわけではない状態。 原因 調査すると、このバグ仕様を踏んでいるのではないかと思われるページを見つけた。 https://bugzilla.redhat.com/show_bug.cgi?id=1044666 内容としては、curlを実行した際に /etc/pki/nssdb/以下の存在しないファイル(毎回違うパス)に対してaccessシステムコールが大量にコールされ、 negative dentry cacheが溜まっていき、メモリ使用量が圧迫されるというもの。 実際、この状況が起きているサーバを調べるとメモリ使用率のうち多くを占めているのはnega

    アプリケーション内でhttpsによる外部APIを叩いているサーバのメモリ使用量が増加し続ける件について - s_tajima:TechBlog
  • Linux のページ回収まわりのカーネルパラメータ - ablog

    Linux(kernel 2.6.32-303 以降)のDBサーバでメモリ16GB、スワップ領域16GBの場合、ざっくりこんな感じが良いかなという妄想メモ。 vm.swapiness=1 vm.overcommit_memory=2 vm.overcommit_ratio=80 vm.min_free_kbytes=524288 vm.extra_free_kbytes=1048576(kernel 3.5以降) vm.swappiness=1 でページアウトよりページキャッシュ解放を優先させる。kernel 2.6.32-303 以降、0 にすると OOM Killer が発動しやすくなるらしいので、1 にする。 vm.overcommit_memory=2 でオーバーコミットしないようにして、OOM Killer が発動しにくくする vm.overcommit_ratio=80 で仮想

    Linux のページ回収まわりのカーネルパラメータ - ablog