タグ

Linuxに関するmasudaKのブックマーク (106)

  • Linuxコマンドでボトルネックを調べる

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

    Linuxコマンドでボトルネックを調べる
  • 【謎】本当にあったfindコマンドの怖い話【おもしろ現象】

    3/21 22時頃: 質問編へのリンクを撤去し、タイトルを変更しました。(元のタイトルは「【謎】当にあったfindコマンドの怖い話【未解決→解決済み】」) 要約 100万個のファイルに対して、find コマンドから始めて mv コマンドでファイル名を変更するワンライナーを実行すると、 mv コマンドが約158万回実行されました。 背景 これは、Software Design 2018年4月号 Software Design 2018年4月号 の「シェル芸人からの挑戦状」の記事執筆中に遭遇した不思議な現象です。1 初めはコラムに書こうとしていたのですが、結局原因がわからず、解説が書けなかったために紙面からは外すことにしました。 流石に結論が「わかりませんでした」で雑誌には載せられないので……。 現象自体は面白かったため、代わりに個人のブログの方に書くことで共有します。 (掲載の許可は頂いて

    masudaK
    masudaK 2018/03/21
    地味にふとした瞬間ハマるとかありそう
  • Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign

    Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign Final update A fundamental design flaw in Intel's processor chips has forced a significant redesign of the Linux and Windows kernels to defang the chip-level security bug. Programmers are scrambling to overhaul the open-source Linux kernel's virtual memory system. Meanwhile, Microsoft is expected to publicly introduce

  • プロセスのVSZ,RSSとfree,meminfo挙動を実機で確認 - のぴぴのメモ

    1.はじめに 1-1.この記事の要旨 1-2.(予習)メモリに関する指標とlinuxのメモリ挙動について 2.検証環境と検証方法 2-1.検証環境 2-2.検証方法 2-3.測定方法 (1)psコマンドによるVSZ,RSS情報の取得 (2)freeコマンドとmeminfo情報の取得 3.結果 3-1.全体の結果 3-2.プロセスのVSZ/RSS挙動 ポイント① malloc()した時の挙動→VSZのみ増加 ポイント② 1回目のデータread時→RSSは増えない ポイント③ データwrite→RSSが増加する 3-3.システムワイドな挙動(freeコマンド/meminfo) ポイント① malloc()した時の挙動→usedもAnonymousPageも増えない ポイント②1回目のデータread時→変化しない。 ポイント③ データwrite→used上昇、AnonymousPage上昇 4.

    プロセスのVSZ,RSSとfree,meminfo挙動を実機で確認 - のぴぴのメモ
  • お前らもさっさとハマって泣くべきCentOS7の落とし穴4つ - Qiita

    CentOSの6から7への移行時、何度かつまづいた箇所があったので紹介します。 前提知識 6と7のミドルウェアの違いやSystemdの基的な使い方はこのあたりを参考にしてください。 CentOS6とCentOS7の比較表 保存版 CentOS7とCentOS6との違いまとめ 落とし穴1: 消える/tmp CentOS7にtmpwatchは入っていません。 だからといって何も考えずに/tmp下にキャッシュ等の一時ファイルを吐き出していると、 いつの間にか消去されていて泣くハメになります。 CentOS7にはtmpwatchはありませんが、その代わり systemdsystemd-tmpfiles-clean.timer がその役割を担っています。 このサービスはtmpwatchと同じように、/tmp下に使われていないファイルを一定期間経つと削除します。 消されたくないファイルがあるのな

    お前らもさっさとハマって泣くべきCentOS7の落とし穴4つ - Qiita
    masudaK
    masudaK 2017/09/01
    色々仕様変えないでー
  • commandlinefu.comで見つけた便利・面白Linuxコマンド使用例 - もた日記

    commandlinefu.com コマンド使用例 ^foo^bar mount | column -t time read (ctrl-d to stop) echo "You can simulate on-screen typing just like in the movies" | pv -qL 10 mv filename.{old,new} diff <(sort file1) <(sort file2) !* !:- fc date -d@1234567890 ps awwfux | less -S bind -P mkdir -p work/{d1,d2}/{src,bin,bak} showkey -a ccze grep . filename > newfilename grep -Fx -f file1 file2 grep . * kill -9 $$ tail

    commandlinefu.comで見つけた便利・面白Linuxコマンド使用例 - もた日記
    masudaK
    masudaK 2017/08/01
    使えそうなものがちらほら
  • Linuxのパッケージをアップデートしたあとrestartが必要なプロセスを見つける方法 - Qiita

    はじめに 脆弱性対応のためのアップデート作業というものは頻繁に発生するものですが、番運用しているシステムではサービスへの影響を最小限にしたいものです。 アップデートした後、出来ることなら必要なプロセスだけリスタートさせることで済ませたいのですが、どのプロセスをリスタートすれば良いのか、そもそもOS再起動しないと反映されないものなのか、判断が付かない場合が少なくありません。 そのような場合のため、再起動が必要なプロセスを見つけたり、OS再起動が必要かどうかアドバイスしてくれるコマンドがあります。 Redhat系 「yum-utils」パッケージに入っている「needs-restarting」コマンドを使います。 # needs-restarting -h Usage: needs-restarting: Report a list of process ids of programs th

    Linuxのパッケージをアップデートしたあとrestartが必要なプロセスを見つける方法 - Qiita
    masudaK
    masudaK 2017/06/26
    こんなものが。
  • 俺は Linux コンテナについてなんにも解っていなかった 〜 haconiwa で学ぶ Linux コンテナ (1) 〜 - ようへいの日々精進XP

    追記 直近の Docker 界隈について Linux コンテナ 参考 Linux コンテナとは Linux コンテナを構成する主な機能 OS リソース毎の Namespace cgroup サブシステム こんなにざっくりでは、Linux コンテナは語れないと思うけど haconiwa haconiwa とは haconiwa で何が出来ると? haconiwa 導入 はじめての haconiwa (1) はじめての haconiwa (2) 〜 コンテナ作成 〜 はじめての haconiwa (3) 〜 コンテナ起動 〜 haconiwa で学ぶ Linux コンテナ .haco ファイル再掲 namespace を弄る前に namespace uts namespace pid 俺は Linux コンテナについてなんにも解っていなかった(まとめ) haconiwa は Linux コンテ

    俺は Linux コンテナについてなんにも解っていなかった 〜 haconiwa で学ぶ Linux コンテナ (1) 〜 - ようへいの日々精進XP
  • device-mapperの勉強 « Junpei's Linux admin

    ストレージデバイスは高速化・大容量化の一途をたどっていて、拡張性や耐障害性、暗号化、バックアップなど機能面での重要性も増している。調べているうちにdevice-mapperを理解しないとダメかなーってことで勉強する。 Linuxでは、拡張性などの機能拡張をソフトウェア的に行なうためにdevice-mapper という仕組みがKernel 2.6から取り込まれている。 device mapperって何? Linuxにおけるストレージデバイス まずはおさらい。ストレージデバイスはブロックデバイスとして抽象化されている。 例えばここ最近見かける以下のようなデバイスがあるとする。 これってLinux上では /dev/sda: 内蔵ディスク (SSD) /dev/sdb: Logical Volume (RAID controller) /dev/sdc: Logical Volume (disk

  • Linux シグナルの基礎

    TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の initsystemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚

    Linux シグナルの基礎
    masudaK
    masudaK 2017/01/24
    ちゃんと読む
  • Linuxの不揮発メモリ対応について - Qiita

    (2019/6/12追記) 今なおこの記事を参照してくれる方がいらっしゃるのですが、現在は以下のスライドのほうが情報が新しいです。 記事は残しておきますが、新しい情報はこちらをご参照ください。 https://www.slideshare.net/ygotokernel/nvdimmlinux-137104084 はじめに Linux Advent Calendarの24日目の記事として不揮発メモリの状況について記載したいと思います。今回はkernelのソースの中とかのあまり技術的に深いところは突っ込まず、概略レベルです。(深いところはまだまだ勉強中の身です)。間違いなどがあればご指摘いただけると幸いです。 不揮発メモリとは これまでPCやサーバなどで主記憶装置といえば、電源を停止させたり再起動させるとデータがクリアされる揮発性のRAMが使われて来ました。この主記憶としてのメモリが不揮発

    Linuxの不揮発メモリ対応について - Qiita
  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

    さくらインターネット Advent Calendar最終日は、硬派にLinuxのメモリに関する基礎知識についてみてみたいと思います。 最近はサーバーを意識せずプログラミングできるようになり、メモリの空き容量について意識することも少なくなりましたが、いざ低レイヤーに触れなければいけないシチュエーションになった際に、OSを目の前に呆然とする人が多いようです。 基的にLinux のパフォーマンスについて、メモリをたくさんつめばいいとか、スワップさせないほうが良い とか、このあたりは良く知られたことだと思います。 ただ、なんとなく ps コマンドや free コマンド などの結果を見るだけでなく、もう少しメモリのことについて掘り下げてみてみたいと思います。 メモリとキャッシュ Linux におけるメモリの状態を大きく分けると「使用中のメモリ」「キャッシュ」「空きメモリ」「スワップ」の 4 つに分

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
  • 低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~

    この記事は Kobe University Advent Calendar25日目の記事です。 低レイヤー技術(後述)をこれから学びたい人向けの入門記事です。 自身の経験を踏まえ、より多くの人達にこのレイヤーに興味を持ってほしくて書きました。 決して卒論がやばくてAdvent calendarのネタが作れなかったわけでは(ry なぜこんな記事を書いたか いわゆるシステムプログラミングのような低レイヤー(と言って差し支えない)ジャンルって一体何から始めれば良いのかいまいちピンと来ないし、何が面白いのかも分からないと思われている事が多いと思います。 にもかかわらず低レイヤーの魅力や学び方の指針みたいな物を示した、いわゆる入門記事ってかなり少ないんですよね。 記事はこれからシステムプログラミングを始めたい方や、既にかじってみたが中々先が見えてこない、将来何の役に立つのか不安という方達に読んでい

    低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~
  • Linuxネットワークドライバの開発 - Handwriting

    この記事はLinux Advent Calendar 2016 9日目の記事です。 遅刻してしまい申し訳ございません。。。 とある事情があって1ヶ月半ほど独自NICのLinux向けのネットワークドライバを開発していた。 今回はARM用のデバイスドライバを開発した。NICはXilinx社のFPGAであるZYBOを用いて開発した。 まだ十分に実用段階というわけではないが、ひとまず独自NIC経由でのpingやiperfが通ったので、後学のために知見を残しておきたい(誰得だ、という感じだが)。 ソースコードはまだ公開されていないが、そう遠くないうちに公開する予定(たぶん)。 はじめに Linuxのデバイスには キャラクタデバイス - バイト単位のデータ通信 (e.g. シリアルポート) ブロックデバイス - ブロック単位のデータ通信 (e.g. ディスク) ネットワークデバイス の3種類がある。ネ

    Linuxネットワークドライバの開発 - Handwriting
    masudaK
    masudaK 2016/12/10
    すごいなー。理解が及ばない。
  • BPF for lightweight tunnel infrastructureについて調べてみた - Qiita

    はじめに このエントリはLinux Advent Calendar 2016の5日目の記事として書かれました。 bpf: BPF for lightweight tunnel infrastructureという機能が最近net-nextにマージされました(つまり特に問題なければ4.10でマージされる予定)。トンネルにどうBPFが使われているのか興味があったので調べてみました。 関係するコミットは以下の3つです。 bpf: BPF for lightweight tunnel infrastructure bpf: Add tests and samples for LWT-BPF Lightweight & flow based encapsulation 背景知識 まずBPFとlightweight tunnel infrastructure (lwtunnel)について調べました。 B

    BPF for lightweight tunnel infrastructureについて調べてみた - Qiita
    masudaK
    masudaK 2016/12/09
    こんなのあるんだなー。知らないことだらけ。
  • irqbalanceサービスについて - のぴぴのメモ

    1.irqbalance概要 2.詳細 3.サービス起動可否の考え方 1.irqbalance概要 FedoraやRHEL,Suseなど多くのLinuxディストリビューションに標準実装されているデーモンで、マルチCPU環境において、IRQ割込み処理を複数のCPU間で負荷分散させることを目的としています。 2.詳細 Linux Kernelはデフォルトの状態では、CPU0のみでIRQ割込み(ハードウエアからの割込み要求)の処理を行います。しかしそれではIRQ割り込みが頻繁に発生する場合CPU0に負荷が偏りパフォーマンスが劣化する可能性があります。そこでマルチCPU環境でにおいてirqbalanceを導入することで、2nd CPU以降も割り込み処理を行えるようになります。 irqbalanceは、10秒毎に各CPUのIRQ割込み処理負荷状態状態に応じ、各CPUへのIRQ割込み処理の再配置をおこ

    irqbalanceサービスについて - のぴぴのメモ
    masudaK
    masudaK 2016/07/03
    今までirqbalanceと闘ったことないのは、平和なのか損なのかという問題。
  • はてなにおけるLinuxネットワークスタックパフォーマンス改善 / Linux network performance improvement at hatena

    はてな・ペパボ技術大会〜インフラ技術基盤〜@京都

    はてなにおけるLinuxネットワークスタックパフォーマンス改善 / Linux network performance improvement at hatena
    masudaK
    masudaK 2016/07/02
    今まで見てきたサービスで、ここまで必要になったことないなー。そういう意味で障害に見舞われるのは幸せなのかもしれない。
  • Kernel fcache-bug

    how to find a bug in kernel/fs about wrong page cache flush in resizing MD device.

    Kernel fcache-bug
  • Linuxカーネルの「TCP_TIMEWAIT_LEN」変更は無意味?

    小崎 資広 (KOSAKI Motohiro) @kosaki55tea . @sonots から日のWeb界隈ではTCP_TIMEWAIT_LEN を変更してカーネルリコンパイルがデファクトという話を聞いて軽くぐぐってみたところ、たしかに大量にそのようなページがヒットする。しかもどれ一つとして理由が書いてない。そして日特有の現象 2015-09-09 00:03:14 小崎 資広 (KOSAKI Motohiro) @kosaki55tea 軽くソースを見た感じだと、tcp_tw_reuse をセットすると1秒で TIME_WAITのsocketは再利用が始まるので、いまひとつリコンパイルの必要性が分からず。これ、ソース呼んで妥当性チェックした人がいるノウハウなのかなあ 2015-09-09 00:04:39

    Linuxカーネルの「TCP_TIMEWAIT_LEN」変更は無意味?
    masudaK
    masudaK 2015/09/10
    再利用されていてもTIME_WAITなのかな(ソース嫁 あと、なぜ再利用できないのかは気になる。
  • 大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablog

    以下、長々と書いてますが、結論は ”私の環境で”大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablogに書いてます はじめに awk file より cat file|awk のほうが速いという以下のブログエントリが興味深いので調べてみました。 ちなみに cat file|awk が速くなる環境は稀で、巷では awk file のほうが速い環境のほうが多いようで、どちらが速いかは環境依存です。 [root@localhost sample]# cat command1 awk '$5 ~ /((26|27|28|29|30)\/Jun|(01|02|03)\/Jul)/{ print }' sample.txt > result1.txt (中略) [root@localhost sample]# time sh command1 real 0m53.92

    大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablog