タグ

Linuxに関するkamatama_41のブックマーク (42)

  • Dockerコンテナが遅くなるもう一つの原因 | POSTD

    前回の ブログ記事 では、Kubernetesの話と、 ThoughtSpot がKubernetesを開発インフラのニーズに合わせてどのように取り入れたかをご紹介しました。今回はその続報として、最近の興味深いデバッグ経験について少々駆け足になりますがお話ししていきます。記事も「コンテナ化と仮想化はノットイコールである」という事実に基づいており、たとえcgroupの上限がどれも高くない値に設定されホストマシンで十分な演算能力が利用できるとしても、コンテナ化されたプロセス同士がリソースの競合を起こす場合があることを示したいと思います。 ThoughtSpotでは内部のKubernetesクラスタで 多数のCI/CDや開発関連のワークフロー を稼働させており、ある1点を除いては全てが順調でした。唯一問題だったのは、ドッカー化された製品コピーを起動すると、パフォーマンスが期待を極端に下回るレベ

    Dockerコンテナが遅くなるもう一つの原因 | POSTD
  • 「全然わからない。俺たちは雰囲気でコンテナをやっている」 /operating-containers-just-with-a-hunch

    Hacker Tackle 2018 発表資料

    「全然わからない。俺たちは雰囲気でコンテナをやっている」 /operating-containers-just-with-a-hunch
    kamatama_41
    kamatama_41 2018/02/19
    勉強になります
  • 定期的にtcpdumpをある期間だけ実行したいという時 - その手の平は尻もつかめるさ

    tcpdumpの提供する-Wオプションと-Gオプション,ならびにcrontabを併用するといける. tcpdumpの-Wオプションはログローテーションを行う回数で,-Gはそのローテーション期間を秒数で指定できる. 例えば $ tcpdump -w ./%Y%m%d%H%M%S.pcap -W1 -G60などとやると,ログローテーション1回,ローテーション期間は60秒となるので,つまり60秒tcpdumpを実行した後にexitする (ローテーション1回指定なので). ちなみに-wオプションで指定するファイル書き出し先についてはstrptimeと同じフォーマットが利用できるのでこういう時に便利. あとはcrontabでこのコマンドを仕込んでやるとOK (id:hirose31さんから「crontabでは%をエスケープする必要がある」との指摘があり修正しました). 55 * * * * tcpd

    定期的にtcpdumpをある期間だけ実行したいという時 - その手の平は尻もつかめるさ
    kamatama_41
    kamatama_41 2017/11/27
    なるほどφ(..)
  • Travis CIでのOS X環境について(+Linux環境についても)

    B! 3 0 0 0 GitHubに置いてあるコードを Travis CI を使ってテストを行っていますが、 Travis CIでは通常Linux環境ですが、 OS X環境も使うことが出来ます。 Travis CIのOS X環境 Travis CIのLinux環境 Travis CIのOS X環境 Travis CIの設定ファイルで os: - linux - osx の様に、osという値にlinuxまたはosxという値を与えることが出来ます。 これによって $TRAVIS_OS_NAMEという値にこの値が入り使うOSが決まります。 Testing Your Project on Multiple Operating Systems - Travis CI 何も指定しなければlinuxですが、上の様に書けば両方の環境で 1回ずつテストすることになります。 また、 language: obj

    Travis CIでのOS X環境について(+Linux環境についても)
    kamatama_41
    kamatama_41 2016/08/06
    fmfm
  • 自作Linuxコンテナの時代 - ゆううきブログ

    最近、Docker以外のコンテナ型仮想化技術の流れとして、自作コンテナエンジンの時代が来るのではないかと感じている。 自作コンテナエンジンとは、コンテナ型仮想化技術を構成する個々の要素技術を組み合わせ、自分の用途にあわせて最適化したコンテナエンジンのことだ。 他のOSのコンテナ仮想化技術について疎いため、以下ではLinuxに限定して話を進める。 概要 Dockerも含めて、Linuxコンテナはコンテナを構成する複数の要素技術の組み合わせである。自分のやりたいことに対して、Dockerをはじめ既存のコンテナエンジンが複雑すぎるケースがある。そこで、自分の用途にあわせてコンテナエンジンを自作することを考えてみる。libcontainerに代表されるように、Linuxコンテナエンジンを自作しやすい環境が整いつつある。今後は、巨大なコンテナエンジンに対して、UNIX哲学に基づいて制御可能な小さなコ

    自作Linuxコンテナの時代 - ゆううきブログ
  • Bashでのセミコロン

    bash等のB-sh系シェルでは 変数定義 コマンド ... とすることで、一時的に「環境変数を定義」して「コマンド」を実行します。 VERSION=2; echo ${VERSION} は、 VERSION=2 echo ${VERSION という2つのコマンドを順次実行するものです。 現在実行しているシェルで変数VERSIONに2が設定されます。 VERSION=2 echo ${VERSION} は、一時的にVERSION=2を設定して、echo ${VERSION}を実行する、という1つのコマンドです。 これを VERSION=5 echo ${VERSION} などとしても、現行シェルのVERSIONは元のままです。 ただ、この場合、やはり出力は「2」になります。それは、このコマンドラインの実行の流れとして、まず${VERSION}が展開され「VERSION=5 echo 2」が

    Bashでのセミコロン
    kamatama_41
    kamatama_41 2016/03/29
    なるほど
  • キャッシング 早い窓ロ

    即日融資を受ける事が出来るカードローンの注目度が上昇中だそうです。支払を要する場面というのは、予期せず巡りくるものです。それも、「即日融資」をよく分かっているこちらのサイトがお助けします! 当然ですが、審査基準は各業者各々異なりますから、例えばA社では落とされたけどB社では大丈夫とされたという実例もあります。万一審査に通過しなかったら、他所の業者で再度申込むというのもやる価値はあります。 「銀行が扱うカードローン、あるいは信販系のキャッシングは、一般的に審査に時間をかけるのではないか?]と信じ込んでいるかもしれないですが、このところは即日融資できる金融業者も増加していると聞いています。 今日この頃はクレジットカードでも、キャッシングOKというものが発行されているということで、容易にキャッシングの申込を終えることができると言えます。 定められる実質年率は、申込者の社会的ステータスにより異なる

    キャッシング 早い窓ロ
  • Overflow filesystem mounted as /tmp in linux – JarrodOverson.com

    Notice! This is a static archive. Some links may not work. Please visit jarrodoverson.com for updated content. Protip: If your “/tmp” mount on a linux filesystem is mounted as overflow (often sized at 1MB), this is likely due to you not specifying “/tmp” as its own partition and your root filesystem filled up and “/tmp” was remounted as a fallback. To fix this after you’ve cleared space, just unmo

  • 覚えておきたいbashシェルスクリプトのオプション

    こんにちは。CTOの馬場です。 今回もインフラエンジニア向けにちょっとした情報を紹介します。 今回は「覚えておきたいbashシェルスクリプトのオプション」です。 便利なものを3つ紹介します。 これを覚えておけば、シェルスクリプトとの付き合いが楽になること間違いなし! その1: eオプション まず1つめはeオプションです。 使い方としては bash -e shellscript.sh のように使います。 このオプションの効果ですが、man bashによると -e オプションが与えられた場合、返り値は最後に実行されたコマンドの返り値となるか、あるいはコマンドの一時ファイルでエラーが起きた場合には偽となります。2番目の形式を用いた場合、終了ステータスは再実行されたコマンドの終了ステータスとなります。 とのこと。。。よくわかりませんね。 平たく言うと、シェルスクリプトの一連の動作の中でエラー(ex

    覚えておきたいbashシェルスクリプトのオプション
  • DRBD(Distributed Replicated Block Device)とは何か

    DRBD(Distributed Replicated Block Device)とは何か:DRBDの仕組みを学ぶ(1)(1/2 ページ) 障害監視ツールなどと一緒に使うことで、サービスの継続提供を助けるDRBD。Linuxカーネルに統合されている機能ですが、上手に使いこなしているでしょうか? 連載では、DRBDの動作や使いどころを順を追って紹介していきます。 連載バックナンバー 2015年6月、約8年ぶりに「DRBD」のメジャーバージョンアップ版となる「DRBD9」がリリースされました。DRBDは、リアルタイムでデータをレプリケート(複製)するソフトウエアです。 最新版であるDRBD9では、多ノード(最大31台)レプリケーション対応、実質無制限のデータサイズサポート、ストレージ性能を活用したさらなる高速化などの新機能が盛り込まれています。 連載第一回となる今回は、DRBD9の詳細を解説

    DRBD(Distributed Replicated Block Device)とは何か
  • 2015年Webサーバアーキテクチャ序論 - ゆううきブログ

    2023年03月31日追記:この記事を基に、@sadnessOjisanさんより、コードレベルにより踏み込んだ、かつ、グリーンスレッドベースの新しいWebサーバアーキテクチャも含めて整理された記事 Webサーバーアーキテクチャ進化論2023 | blog.ojisan.io が公開されました。 主に新卒のWebエンジニア向けに、古典的なWebサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介します。 この辺りの話題がWeb界隈で流行っていたのは数年以上前というイメージですが、Webサービスは相変わらずWebサーバの上で動いているので、流行り廃り関係なく学ぶべき内容だと思っています。 また、HTTP/2がいよいよRFC化し、既にh2oやtrusterdなどのHTTP/2のサーバ実装があり、今後Webサーバアーキテクチャを再訪することが増えるような気がしています。 ところが、We

    2015年Webサーバアーキテクチャ序論 - ゆううきブログ
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • Hello,World sudo -Hオプション

    sudoに-Hつけている例を見かけて調べてみた。 -H (HOME) オプションが指定されると、環境変数 HOME が passwd(5) で指定された対象ユーザ (デフォルトでは root) のホームディレクトリに設定される。デフォルトでは、sudo は HOME を変更しない。 まず、passwd(5)で指定って何?(・・;) ってなる。 passwd(1)とpasswd(5)があるらしい。 この括弧の数字はマニュアルのセクション番号で 1 コマンド 2 システムコール 3 ライブラリ 4 特殊ファイル 5 ファイルの書式など 6 ゲーム 7 その他 8 システム管理コマンド となっている。 つまり、コマンドとしてのpasswdとファイル書式としてのpasswdが存在している ファイルとしてのパスワードは/etc/passwdに存在してる 実際に 4:

  • ssh経由でリモートホストで実行してるプロセスにSIGINT送りたい時 - As a Futurist...

    perl で色々管理スクリプト書いてるんですが、そのなかでこんなコードを書きました。 system("ssh remote 'rsync ...'"); で、rsyncが走ってる途中でやっぱやめたと思ってCtrl+C=SIGINTを送ったんですが、もちろん perl のプロセスは死ぬんですけど、remoteで動いてるrsyncはそのままゾンビになって残ってしまいました。 はて、いろんなところに原因が考えられるなぁということで調べてみました。 host1> ssh host2 'some-command' host2> strace -p 20279 # some-command's pid Process 20279 attached - interrupt to quit read(0, # then "Ctrl+C" on host1 (host2) "", 4096) = 0 wri

    ssh経由でリモートホストで実行してるプロセスにSIGINT送りたい時 - As a Futurist...
  • glibcのgethostbyname関数に存在するCVE-2015-0235(GHOST)脆弱性について - ブログ - ワルブリックス株式会社

    glibcのgethostbyname系関数に脆弱性の原因となるバグが発見されCVE-2015-0235(GHOST)と命名されたようです。放置した場合は相当多くのアプリケーションがこの脆弱性の影響を受けることが予想されます。 glibcは libcのGNUバージョンです。libcはアプリケーションではなく、事実上全てのアプリケーションが利用しているライブラリです。OSの中ではカーネルに次いで重要な部分と言えます。Linuxシステムでは(ことサーバー用途においては)例外なく glibcが使われています。 この glibcに含まれる gethostbyname系関数の実装に 2000年頃から存在したバグが今になって発見され、CVE-2015-0235 通称 GHOSTと命名されました。ネットワークで何らかの通信を行うアプリケーションは必ず※この関数を使用します。 ※追記: 名前解決をサポート

    glibcのgethostbyname関数に存在するCVE-2015-0235(GHOST)脆弱性について - ブログ - ワルブリックス株式会社
  • ある文字列をファイルの特定行に挿入するコマンド - 元RX-7乗りの適当な日々

    Linux等で、ファイルの特定の行に、ある文字列を挿入(追加)したい時のコマンド(sed)サンプルを備忘録的に。 前提 こんなファイルがあります。 $ cat test.txt line1 line2 line3 2行目に挿入 $ sed -e "2i hoge" test.txt line1 hoge line2 line3 2行目直下に挿入 $ sed -e "2a hoge" test.txt line1 line2 hoge line3 "line2"の行前に挿入 ※この辺の正規表現は、要件に応じて適当に変えてー。 $ sed -e "/^line2$/i hoge" test.txt line1 hoge line2 line3 "line2"の行後に挿入 $ sed -e "/^line2$/a hoge" test.txt line1 line2 hoge line3 sed

    ある文字列をファイルの特定行に挿入するコマンド - 元RX-7乗りの適当な日々
  • https://www.java.com/ja/download/help/linux_uninstall.html

  • Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々

    とりとめもなく書いてみる。主にルーキー向けです。 サーバの運用とかやっていると、不定期ではあるが、たまにタイトルのようなディスク容量が逼迫する話題に直面します。 まぁ、それが起こるのは一旦良いとして、みんなこういう時、どうやって調べているのだろう? とりあえず、僕がどうやってるか書いてみます。 何はともあれ現状確認 みんな大好き"df"コマンドです。細かい説明は省きますが、各パーティション・ファイルシステムごとにディスクの使用状況を確認。 # df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/sda3 130G 88G 36G 72% / /dev/sda1 494M 23M 447M 5% /boot tmpfs 12G 0 12G 0% /dev/shm正確とは言いませんが、だいたいどのパーティションにどのくらい容量が空いているかが確認できます。 ど

    Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々
  • /usr/local とは何なのか - 破棄されたブログ

    ご用心: この記事を鵜呑みにせず、末尾に記載された一次ソースを確認してください。 ソースからソフトウェアをビルドしてインストールするときに使う /usr/local ディレクトリだけど、/opt ディレクトリとの住み分けとか、 そもそも標準はどうなっているのかとか、まともに知らんかったので Filesystem Hierarchy Standard を確認してみた。 /usr/local は何をすべきところなのか? 他のホストと共有されない 既存のシステムの破壊防止 FHS 準拠のソフトウェアをインストールする /usr/local ディレクトリ下自体が FHS 準拠になる /usr/local ディレクトリは、システム管理者がソフトウェアをローカルにインストールするために用いる。 /usr/local ディレクトリとして隔離されるため、同名のファイル名で既存のファイルを上書きするなどして

    /usr/local とは何なのか - 破棄されたブログ
  • psコマンドでスレッドを表示させたり、スレッドごとのCPU使用率を確認する - 元RX-7乗りの適当な日々

    今更なネタかもしれませんが、psコマンドでは通常プロセス単位での表示となりますが、"man ps"を読んでみたところ、"-L"等のオプションをつけることで、スレッドを表示することもできるようです。 スレッド表示 H   スレッドをプロセスのように表示する。 -L   可能ならば LWP と NLWP カラムをつけてスレッドを表示する。 -T   可能ならば SPID カラムをつけてスレッドを表示する。 m   プロセスの後にスレッドを表示する。 -m   プロセスの後にスレッドを表示する。 Man page of PS では、早速試してみましょうか。 普通に"ps -ef"を実行 $ ps -ef | grep -e mysqld -e PID | grep -v grep UID PID PPID C STIME TTY TIME CMD root 4570 1 0 Dec09 ? 00

    psコマンドでスレッドを表示させたり、スレッドごとのCPU使用率を確認する - 元RX-7乗りの適当な日々