タグ

linuxに関するtgkのブックマーク (57)

  • 今どきのLinux事情

    とりとめない話ですが、今どきのLinuxのパッケージングの種類とSteamDeckから一気に改善されたDirectX 周りの話です。社内の勉強会で共有した資料

    今どきのLinux事情
    tgk
    tgk 2022/07/01
  • What relationships tie ACL mask and standard group permission on a file?

    tgk
    tgk 2019/09/27
  • What is kernel soft lockup?

    tgk
    tgk 2017/09/25
    soft lockupはドライバ等カーネルモードのコードがCPUコアを長時間掴みっぱなしにした時に検出されるエラー
  • CentOS/RHELの起動スクリプト内ではsudoではなくrunuserを使う|TechRacho by BPS株式会社

    morimorihogeです。 今朝は久々にAWSのus-eastリージョンが障害祭りみたいでどきどきしてます。今のところtokyoリージョンには問題なさそうですが、HerokuとかSlackみたいに内部的にus-eastに依存しているサービスは不安定のようですね。 小ネタです。 サーバ起動時の自動起動スクリプト インフラ構築をしていて忘れがちですが大事なこと、それは「再起動テスト」です。 今はVPS的なクラウドサービスが主流になったので物理サーバの再起動ということはずいぶん減りましたが、それでもクラウドサービス側のメンテナンスで再起動が不定期に発生することはあります。 この際、再起動時にもきちんと必要なサービスが起動するように設定しておかないと困るわけですね。 LinuxではRedHat系(含むCentOS)もDebian系(含むUbuntu)も昔はsysvinitによる管理がされてきま

    CentOS/RHELの起動スクリプト内ではsudoではなくrunuserを使う|TechRacho by BPS株式会社
    tgk
    tgk 2017/06/07
    「CentOS/RHELのデフォルト設定では起動時のsudoは許されていない(ttyがないから?)らしく、その他の方法を使う必要があります」
  • Linux - サービスの init.d 起動と service 起動の違い!

    env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" status env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" stop env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" start env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" ${OPTIONS} 3. 結論 init.d 起動と service 起動とで挙動に違いがあるということから、分かること・言えることは以下のとおり。 環境変数に影響されないようなサービス(起動スクリプト)なら、init.d 起動も service 起動も変わりはない。 init.d

    Linux - サービスの init.d 起動と service 起動の違い!
    tgk
    tgk 2017/06/02
    serviceコマンドでの起動は「環境変数PATHとTERMのみが引き継がれて、サービスの起動作業に移る」とのこと
  • Linuxでシャットダウン、再起動をするshutdown、init、halt、rebootコマンドの違い:while(1) { ;}:So-netブログ

    ブログトップ Linuxでシャットダウン、再起動をするshutdown、init、halt、rebootコマンドの違い [Linux] [編集] Linuxでシャットダウンや再起動をコマンドラインで行う場合、 通常はshutdownコマンドを使用することが多いと思います。 しかし、シャットダウンや再起動は、init や halt、reboot でも行えます。 initはランレベルの変更を行うコマンドですが、 init 0 でシャットダウン、 init 6 で再起動を行うことが出来ます。 また、シャットダウンは halt、再起動は reboot コマンドを実行しても行えます。 では、これらのコマンドは何が違うのでしょう。 いちばん大きな違いは、ログインユーザにメッセージを送信するかどうか、 という点です。 実際に検証してみましょう。 なお、今回使用した検証環境は、Vine Linux 5.0

    tgk
    tgk 2015/02/12
    init 0, init 6
  • DMM inside

    アニメ初の快挙!海外アニメ賞を受賞した『スキップとローファー海外ライセンス部長&プロデューサーが語る、奮闘の舞台裏

    DMM inside
    tgk
    tgk 2014/07/29
    rhel7系はrc.localに実行権限を付けてやらないと効かないらしい。systemdと関係あるらしい
  • ロケールとは - 国際化対応言語環境の利用ガイド

    アプリケーションプログラムの重要な概念は、プログラムのロケールの概念です。ロケールとは、あるネイティブ言語環境の明示的なモデルおよび定義のことです。ロケールの概念は、http://opengroup.org からアクセスできる POSIX 規格に明示的に定義されて含まれています。 ロケールは、国に依存する書式設定やその他の仕様が存在するいくつかのカテゴリから構成されます。プログラムのロケールは、そのコードセット、日付や時刻の書式設定規則、通貨規則、10 進書式設定規則、および照合 (ソート) 順序を定義します。 ロケール名は、ベースとなる言語、使用する国 (地域)、およびコードセットから構成できます。たとえば、ドイツ語は、Deutsch の略語となる de ですが、スイスのドイツ語は de_CH になります (CH は Confederation Helvetica の略語)。この表記規則

    tgk
    tgk 2014/02/27
    「C ロケールは POSIX ロケールとも呼ばれますが、これは、POSIX に準拠するすべてのシステムの POSIX システムデフォルトロケールです」
  • [Linux]Swap領域をクリアする方法 · DQNEO日記

    開発に使ってるLinuxサーバで、Swap領域が大量に使用されて動作が重くなっていたのでSwap領域を解放するためにやったことのまとめ。 単純にサーバ再起動してもよいのだけど、それだと作業中のEmacsが落ちてしまうので開発効率がおちる。 サーバ再起動させずにSwapを空にする方法はないかと試行錯誤してみたら、うまくいきました。 メモリに空き容量がある場合 Swap usedの容量よりも実メモリの空き容量の方が大きい場合、単純にスワップをoffにしてonにすれば解決します。 swapoff -a && swapon -a (swapoffコマンドが見つからない場合は /sbin/swapoff などをあたってみてください。) メモリに空き容量がない場合 「スワップをoffにする」とは、ディスクに退避されてるデータをメモリに移動させることです。 なのでメモリの空き容量が足りない場合はswap

    [Linux]Swap領域をクリアする方法 · DQNEO日記
    tgk
    tgk 2014/01/20
    「「スワップをoffにする」とは、ディスクに退避されてるデータをメモリに移動させることです。 なのでメモリの空き容量が足りない場合はswapoffが失敗します」
  • Linuxファイルシステムを最適化する | OSDN Magazine

    前回は、一般的なLinuxファイルシステムをいくつか紹介し、それぞれの機能を見ていった。Linuxをすでにインストールしてあれば、パーティションの設定とファイルシステムの構成は済んでいるはずだが、この構成を変更したい場合もあるだろう。最適な方法を探ってみよう。 稿は、先日刊行された書籍『Linux Power Tools』からの抜粋である。 変更と一口に言っても、中には手間のかかるものもある。たとえば、ファイルシステムを変更するには、バックアップ、新規ファイルシステムの作成、ファイルのリストアという手順が必要になる。ただし、ext2fsからext3fsへの変更だけは例外で、非常に簡単に行うことができる。ファイルシステムを切り替えたら、ファイルシステム作成のさまざまなオプションを利用して、新しいファイルシステムのパフォーマンスを向上させることができる。その他の変更は、比較的簡単だ。ディスク

    Linuxファイルシステムを最適化する | OSDN Magazine
    tgk
    tgk 2013/11/29
    「ext2fsとext3fsは、スーパーユーザ(もしくは指定されたその他のユーザ)が使うためのブロックを大量に予約する。予約領域のデフォルト値は5%」※パーティションごとに、らしい
  • /etc/hosts はホスト数が増えるとDNSより遅くなる

    /etc/hosts にホスト名を書いて配るというのは、数台のマシンを管理する状況では誰しもやったことがあると思います。DNSクエリが発生しないのでとても早く、また単一障害点が発生しないメリットがあります。その反面、台数が増えてくると全部を更新するのがとても大変になるだけでなく、致命的な速度低下をもたらします。 テスト環境は OS: CentOS 6.4 64bit, Linux 3.10.2 CPU: Intel Core i7-2600 @ 3.4GHz です。 テストにはひたすら getaddrinfo(3) し続けるプログラムを作成し、名前を解決しました。 /etc/hosts には 10.234.130.1 host1301 10.234.130.2 host1302 10.234.130.3 host1303 のように適当なアドレスとホスト名を並べたものを作り、利用しました。な

    /etc/hosts はホスト数が増えるとDNSより遅くなる
    tgk
    tgk 2013/08/23
    テスト環境では250エントリぐらいでDNSに負け始めた「こうなる理由は、hosts の中身はライブラリ(libc)によって処理されていて、毎回 fopen(3) して線形に検索しているからです」
  • Linux(x86)で使えるメモリサイズ

    Linux(x86)で使えるメモリサイズ x86 (386, 486, Pentium ...) の Linux では,最新のカーネルを使えば 64GB まで使える,などと聞かれたことがあるかも知れませんが,これはシステム全体として使えるメモリサイズで,1 プロセスではこんなに使えません。まず,32bit のアーキテクチャということで 4GB (2^32B) の壁があるのですが,実は更に制限があります。 簡単にまとめますと, 1回の malloc のサイズが 128kB 以下のものの合計: 約 1GB まで 1回の malloc のサイズが 128kB 以上のものの合計: 約 2GB まで となっています。要するに,大きなサイズで malloc してると 2GB まで, 細かく malloc してると 1GB までしかつかえない,ということです。 それぞれアドレス空間の別の部

    tgk
    tgk 2013/08/14
    「128KB未満のmallocには,トータルが1GBというのが一つの制限」「128KB以上でmallocした場合は,合計が2GBまでというのがもう一つの制限」
  • プロセスの優先度 - Linuxカーネルメモ

    通常のプロセス(非リアルタイムプロセス)には静的優先度と動的優先度の2種類の優先度がある。 静的/動的優先度どちらとも値が小さい方が優先度が高い。 1. 静的優先度静的優先度は0〜139の値を取る。このうち、0〜99はリアルタイムプロセスに使用される。通常のプロセスは100〜139になる。 静的優先度はプロセスのnice値により固定的に決まる。niceは-20〜19の値を取るが、これをそのまま100〜139にずらした値が静的優先度となる。 nice値 -20 ... 0 ... 19 静的優先度 100 ... 120 ... 139 静的優先度はtask_structのstatic_prioに格納される。 2. 動的優先度動的優先度は静的優先度をベースにCPU使用量に基づいて算出される。スケジューラによるプロセスの選択時には動的優先度が使用される。取り得る値の範囲は静的優先度と同じ100

    tgk
    tgk 2013/08/07
    NI=静的優先度, PRI=動的優先度. NIからPRIを算出する
  • 処理が遅い場合の調査

    処理が遅い場合, 問題が, ディスク I/O, CPU能力, ネットワ−ク, メモリ不足, NFS 等のうちどこにあるかが問題になる.(いや,他にもありうるけど) ディスク I/O や ネットワ−クが問題になることが多いと思う. ネットワ−ク関連では, hosts ファイル や DNS に無登録のマシンだったり, NIS 参照に問題が出ていたり, また, 自分自身でなく NFS サ−バが遅いのが原因の例もあった. 機材の故障やケ−ブル不良で, ネットワ−クに大量のエラ−がでているのが 原因のことも多い. 複数の DNS サ−バを参照しているばあい, DNS サ−バの参照順が適切か考え直してみる. 使用する tool vmstat, free, top, netstat,tcpdump 等は普通に使えると思う. 負荷のモニタは procmeter が気に入っている. ネットワ−クの状況は I

    tgk
    tgk 2013/05/07
    vmstatのsi/soが2桁=毎秒10KBオーダーのSwap in/outで「メモリ不足気味」とのこと
  • 減り続けるメモリ残量! 果たしてその原因は!?

    物理メモリ使用状況の把握には何を使う? では、ストレージとの同期情報まで加味したメモリの使用状況監視を行うには、どうすればよいのでしょうか? 実は現在(注2)のところ、「これで完ぺき」という方法はありません。ただ、それでは困るので、ここでは次善の策としてActiveとInactiveを監視する方法を挙げます。 ActiveとInactiveはvmstat -aやcat /proc/meminfoなどと入力することで取得できます(図5)。 Activeはページキャッシュや無名ページ(注3)のうち、最近利用したり、まだストレージとの同期が取れていない「捨てられない」ページです。Inactiveは、同じくページキャッシュや無名ページのうち、最後にアクセスされてからある程度時間がたち、ストレージとの同期も完了していて、すぐに捨てられるページです。よって、/proc/meminfoの出力でいうところ

    減り続けるメモリ残量! 果たしてその原因は!?
    tgk
    tgk 2013/05/07
    本当の空きメモリを安全側に振って見積もる方法。freeに/proc/meminfoの"inactive"を足す
  • 減り続けるメモリ残量! 果たしてその原因は!?

    Mem行のfree(MemFreeと呼ぶことにします)は「空きメモリ量」ではなく、何の用途にも使っていない物理メモリ量と考えてください。「MemFreeが少ない→空き物理メモリ量が少ない→利用可能な物理メモリ量が足りない」という発想を防ぐためです。この場合、単純に物理メモリを追加しても、いつかはMemFreeが少ない状況に落ちていくため、解決にはなりません。 システム全体のメモリ利用量の監視は、freeのみを判断基準とするのではなく、もっと総合的に「利用可能な物理メモリ量」を計算する必要があります。 システムが利用可能なメモリ量を計算するには、Linuxのページキャッシュの扱いを理解する必要があります。LinuxはHDDなどのストレージに保存してあるデータの読み出し/書き出し時に確保したメモリをページキャッシュという形で保持します。 CPU はストレージのデータを直接読むことはできません。

    減り続けるメモリ残量! 果たしてその原因は!?
    tgk
    tgk 2013/05/07
    (free + buffers + cached)を丸ごと「空きメモリ」と考えてはならない。ダーティバッファはページアウトできないから
  • あるプロセスが利用しているメモリサイズを procfs 経由で調べる - naoyaのはてなダイアリー

    お題は「あるプロセスがどの程度の物理メモリを利用したかを知りたい」です。 手っとりばやく知りたいときは top や ps などで調べると良いでしょうか。例えば手元の coLinuxtop して M キーでソートすると emacs のプロセスが最もメモリを使っているようです。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1923 naoya 18 0 23120 19m 3096 S 0.0 2.0 0:55.40 emacsメモリサイズは VIRT と RES がありますが、VIRT は Virtual の略で仮想メモリ領域のサイズ、RES が Resident の略で、実際に使用している物理メモリ領域のサイズ。19MB ほど使っているようです。この emacs のプロセスが利用するメモリ領域はざっくり 20MB 程度と

    あるプロセスが利用しているメモリサイズを procfs 経由で調べる - naoyaのはてなダイアリー
    tgk
    tgk 2013/05/07
    /proc/<PID>/statusの読み方 「VmPeak: このプロセスがある時点で使っていた最大仮想メモリサイズ」「VmLck: ロックされている(スワップアウトされない)メモリのサイズ」
  • Red Hat Enterprise Linux 固有の情報

    4.6. Red Hat Enterprise Linux 固有の情報ページ要求された仮想メモリオペレーティングシステムとしての固有の複雑性により、Red Hat Enterprise Linux 環境下においてメモリ関連のリソースを監視を行なう場合には当惑することがあります。したがって、もう少し簡単なツールから始めるのが最適です。 free を使うとメモリとスワップの簡潔な使用概要を取得することができます。次に例をあげます。 total used free shared buffers cached Mem: 1288720 361448 927272 0 27844 187632 -/+ buffers/cache: 145972 1142748 Swap: 522104 0 522104 このシステムには 1.2GB の RAM があり、実際に使用されているのは約 350MB だけで

    tgk
    tgk 2013/05/01
    sarの詳細
  • Linux ファイルシステムにおけるバグ傾向

    Linux には複数のファイルシステムがあります.これらには,仕様としての機能差の他に,品質・安定度に関して大きな差があると考えられています. 今回は,そのあたりを定量的に分析した論文をご紹介. A Study of Linux File System Evolution [キャッシュ] https://www.usenix.org/conference/fast13/study-linux-file-system-evolution 調査の対象は,XFS/Ext4/Btrfs/Ext3/Reiser/JFS の 6 つのファイルシステム.これらについて,Linux 2.6.0 (Dec ’03) から 2.6.39 (May ’11) の間に取り込まれた 5,079 個のパッチを分析しています. パッチの種類 まず,パッチを次の 5 種類に分類しています. Bug バグの修正. Reli

    Linux ファイルシステムにおけるバグ傾向
    tgk
    tgk 2013/04/08
    「何使ってもリスクはあんまり変わらない」という理解でいいのかな
  • いますぐ実践! Linuxシステム管理

    「いますぐ実践! Linux システム管理」はこちらです。 メルマガの解除、バックナンバーなども、以下からどうぞ。 https://www.usupi.org/sysad/ (まぐまぐ ID:149633) その他、作者に関するページは、概ね以下にございます。 https://www.usupi.org/kuri/ (まぐまぐ ID:126454) http://usupi.seesaa.net/ (栗日記ブログ) https://twitter.com/kuriking/ (twitter) https://facebook.com/kuriking3 (facebook) https://jp.pinterest.com/kuriking/pinterest) https://www.instagram.com/kuri_king_/ (instagram) [バックナンバーのトップへ

    tgk
    tgk 2013/02/12
    inotify-toolsパッケージという手もある