タグ

linuxとtipsに関するlearnのブックマーク (23)

  • tarコマンドを負荷制御(bwlimit指定)して実行する方法

    cstream - direct data streams, with bandwidth limiting, FIFO, audio, duplication and extended reporting support. ざっくり言うとデータストリームの制御とかできるよ!っていうコマンドっぽいです。オーディオアプリケーションのデータレートのエミュレーションとかで利用されているそうです。オプションではcstreamコマンドの-tを使うのですが、以下がmanでの内容になります。 -t num    Limit the throughput of the data stream to num bytes/second. Limiting is done at the input side, you can rely on cstream not accepting more than thi

    learn
    learn 2012/08/15
    cstreamコマンドで帯域制御
  • Linux(CentOS)で帯域制限をする方法 [ へっぽこSEのメモ帳 ]

    Linuxでネットワークの帯域制限をかける方法です。 例えば、約1Mbpsに制限してみます。 帯域を1Mbpsに制限 # tc qdisc add dev eth0 root tbf limit 15Kb buffer 10Kb/8 rate 120Kbps 状態を確認 # tc -s qdisc qdisc tbf 800d: dev eth0 rate 960000bit burst 10Kb lat 42.7ms Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 制限を解除 # tc qdisc del dev eth0 root ちなみに1Mbpsに制限しているのに、「120Kbps」としているのは、設定した値がビットではなくバイトで設定されるようなので、設定したい値を8で割った値で設定すると目的の値に設定できる見たいで

  • Linuxで突然キー入力が受け付けられなくなる問題の対策 - sanonosa システム管理コラム集

    コンソール上でキー操作をしている時に突然キー入力できなくなる問題に遭遇することがあります。これは簡単に再現&解除できます。 CTRL+s : キー入力できなくなったように見える操作 CTRL+q : キー入力できなくなった状態を解除する操作 このキー操作がどのような経緯で生まれたのか等は別のWEBサイトに譲るとして、この機能自体恒久的に必要ないという大多数の方は、以下のコマンドを実行することでキー入力が受け付けられなくなる機能が無効になります。 $ stty stop undef ログイン毎にこの入力をするのが面倒な方は.bashrcに追記しておくと良いでしょう。

    Linuxで突然キー入力が受け付けられなくなる問題の対策 - sanonosa システム管理コラム集
  • xargs を使ってカジュアルに並列処理 - たごもりすメモ

    シェルからでも重い処理というのはちょこちょこあって、例えば超デカいログファイルを移動して圧縮したりというお仕事は世界中のあらゆる場所で毎日行われていたりする。コマンドラインからでも大量の圧縮済みログファイルをいっぺんに展開したい、とか。 あるディレクトリ以下に存在するたくさんのファイルを(圧縮済みのものを除いて)全部 bzip2 圧縮したい!と思ったら、とりあえずさくっと次のようにコマンドラインで叩けばいい。 $ find . -not -name '*.bz2' | xargs bzip2 これで、まあそんなに問題なく効率的にbzip2圧縮ができる。だがしかし。 最近は複数コアのCPUが普通に転がってるし、あまつさえHyperThreadingが有効になってたりしてOSから見える論理CPU数がハンパない。普通に8とかある。その一方で複数コアを使用してくれるコマンドというのはあんまりなくて

    xargs を使ってカジュアルに並列処理 - たごもりすメモ
  • Linuxのサーバをリモートから強制的にOSリブートする - 元RX-7乗りの適当な日々

    先日、諸々の都合で遠隔にあるテスト環境のサーバ(Linux)のカーネルパラメータを弄っていたのですが、ちょっと設定(メモリまわり)がイキすぎてしまいw、コマンド実行というかforkできなくなってしまった(Cannot allocate memory...)。 んで、shutdownコマンドも実行できなくなったので、直そうと思ったのですが、色々弄った&時間がなかったこともあり、一旦OSを再起動しちゃいたいな、と(汗 が、遠隔にあるサーバなので、物理的な電源スイッチON/OFFができない(厳密には出来る環境ではあったのですが、このサーバはそこに入ってなかったw)。ので、SysRqキーを送ることにした。 やり方 少し無理矢理感はありますが、 # echo b > /proc/sysrq-triggerを実行すると、強制的にリブートがかかります。 ただし、ファイルシステムのsyncとかumount

    Linuxのサーバをリモートから強制的にOSリブートする - 元RX-7乗りの適当な日々
  • 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...
  • sshで多段ログイン - 技術メモ帳

    たとえば以下のように A というサーバーをログインしなければ到達できない B というサーバーがあったとき local --> hostA --> hostB 二回に分けて入力するのが面倒くさい。 local$ ssh user@hostA # Aにログイン成功 hostA$ ssh user@hostB # やっとBに到達。面倒!! hostB$ そんなときに、以下の構文を思い出すことだろう。 ssh user@host リモートで実行したいコマンド リモートで実行したいコマンドで "ssh user@hostB" ってやったらいいんじゃないかと 思いつきでやってしまうと、以下のようにエラーになる。 $ ssh user@hostA "ssh user@hostB" Pseudo-terminal will not be allocated because stdin is not a t

  • コンパイル(make)の高速化 - 元RX-7乗りの適当な日々

    最近、yum(rpm)やaptなどといったパッケージ管理の仕組みが秀逸で使いやすくなってきていますが、最新バージョンのプロダクトの検証がしたいときなど、ソースからビルドしてぶち込む事も個人的に多々あったりもします。 そんなビルド野郎な方に朗報です。 いやね、ちょっとしたものなら全然いいんですよ。 最近はマシンスペックもすっかり良くなっちゃって、時間もそれほどかからなくなってきているから。 でも、MySQLとかPHPとか、ちょっと大きいものを色々オプションつけてコンパイルしたりすると、時間がかかりはじめて、ちょっと馬鹿にならなくなってきます。 で、今日、makeのマニュアルを読んでたら、こんなオプション見つけました。 -j jobs 同時に実行できるジョブ(コマンド)の数を指定する。 -j オプション が 複 数 個指定された場合は、最後の指定が有効になる。引き数無しで -j オプションが与

    コンパイル(make)の高速化 - 元RX-7乗りの適当な日々
  • Linuxでうっかりrm -rfしちゃったけど復活出来たよー\(^o^)/ - y-kawazの日記

    サーバのファイル整理作業をしていたところ…、 間違えてrm -rfしてしまった! ぎゃーバックアップもねー! 長いこと生きてたらこんな経験の1度や2度はありますよね? えぇ、ついさっきやらかしちゃいましたwwオワタwww 速攻「rm 復活」とか「rm 取り消し」とかでググッたねw、したらmcってプログラムのUndelete機能使えばよいって情報が出てくるが、どうやらこれext2じゃないと使えないっぽいぞ…、うちext4だ。 混乱。以下ターミナルのヒストリーより実況。 ## こーいうときはまずあれだ、現場保存! ## まずは今いるパーティションを確認 # df -hT Filesystem Type サイズ 使用 残り 使用% マウント位置 /dev/sdb2 ext4 193G 6.9G 176G 4% / /dev/sdb1 ext3 194M 22M 163M 12% /boot /d

    Linuxでうっかりrm -rfしちゃったけど復活出来たよー\(^o^)/ - y-kawazの日記
  • tailコマンドって-c使うと超速い - As a Futurist...

    Twitter でつぶやいたら意外と知られて無かったので記事にしておきます。 Linux とかで巨大なログファイルとかを扱うときに、head や tail というコマンドで先頭から何行とか 末尾から何行を見たい時があると思います。 例えばアクセスログで末尾から 10000000 行目辺りをみたいとかいうときに $ tail -n 10000000 access_log | head とかするとかなり遅いと思います。これはログの後ろの方から読み込みながら 行数を計算しているからで、10000000 行分数えないとどこから表示すればいいのかわからないので なかなか結果が返ってこなくてヤキモキしてしまいます。 こんなときに、-cというオプションを使うと超高速で結果が返ってきます。-cというのは -c, --bytes=N output the last N bytes とある様に、ファイルの末尾

    tailコマンドって-c使うと超速い - As a Futurist...
  • LAN内で使用中のIPアドレス(pingで応答があるノード)を簡易に調査するワンライナー(Linux編) - 元RX-7乗りの適当な日々

    昨日、書いたメモエントリ。 LAN内で使用中のIPアドレス(pingで応答があるノード)を簡易に調査するワンライナー(Windows編) "Windows編"と書いたからには、"Linux編"も書いておこうかと思いまして、bash版を。(どこでも実行できる様、ポータビリティ重視w) $ for a in `seq 1 254`; do ping -c 1 -w 1 192.168.1.$a > /dev/null && arp -a 192.168.1.$a | grep ether; doneちょっと長いですが、こんな感じかしら。(ブロードキャストパケットを拒否するノードがいたので・・・。) ファイル等ログ出力したい場合は、リダイレクトを付けて実行してください。 詳解 シェルスクリプト 作者:Arnold Robbins,Nelson H. F. Beebe出版社/メーカー: オライリー

    LAN内で使用中のIPアドレス(pingで応答があるノード)を簡易に調査するワンライナー(Linux編) - 元RX-7乗りの適当な日々
  • 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乗りの適当な日々
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • リダイレクトの警告

    表示中のページから http://d.hatena.ne.jp/Yoshiori/20101208/1291798441 にリダイレクトしようとしています。 このページにリダイレクトしないようにする場合は、前のページに戻ってください。

    リダイレクトの警告
  • Linux等でのログのモニタリングで簡単にアラートをキャッチするワンライナー - 元RX-7乗りの適当な日々

    昔、『「ping -a」で音が鳴る!』なエントリでも書いたのですが、何らかをリアルタイムにチェック/監視したい時に、視覚だけではなくアラート音が一緒に出ると、モニタリングしやすいものです。 というわけで、Linuxなんかで、とあるログファイルの出力から、ある文字列が検出された際に、ビープ音を鳴らすワンライナーは以下。 $ tail -f ログファイル | sed -e 's/\(対象文字列\)/\1^G/'上記を実行中に、指定ログファイルに対象文字列が出力されるとビープ(Beep)音が鳴るはず。 「^G」(0x07)の部分が、ASCIIのBELキャラクタのリテラルです。 $ echo -n "^G"などとしてやれば、ベル(ビープ音)が鳴りますよね。 ちなみに、「^G」は、[Ctrl-V] ⇒ [Ctrl-G] の順に入力してやればOK。emacsだと[Ctrl-Q] ⇒ [Ctrl-G]か

    Linux等でのログのモニタリングで簡単にアラートをキャッチするワンライナー - 元RX-7乗りの適当な日々
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • めっちゃ便利やねん find コマンドのオプションまとめ | バシャログ。

    こんにちは nakamura です。そういえば 4/1 から 神奈川県公共的施設における受動喫煙防止条例 が施行されましたね。今のところよく行くお店でそれらしい光景は見掛けませんが、先日行った居酒屋はものの見事に禁煙になっていて心なしか客足もまばらな感じでした。神奈川県の飲はこれから厳しそうですな。 さてさて思わず関西弁になってしまうほど便利な find コマンドを今日はご紹介します。比較的有名なコマンドですが、オプションが相当な数あり正直全てを把握するのは無理かもしれません。ただ、よく使うものだけでも頭に入れておくと何かと便利な優れものなのです。 基的なオプション まずは基的な使い方。 -type ファイルタイプの指定に使用するオプションです。スペシャルファイルや名前付きパイプ等様々な引数がありますが、よく使うのはディレクトリを示す d と通常ファイルを示す f でしょうか。 -n

    めっちゃ便利やねん find コマンドのオプションまとめ | バシャログ。
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • tips - xzってどうよ!? : 404 Blog Not Found

    2009年05月07日08:00 カテゴリTipsiTech tips - xzってどうよ!? そう奥村先生がおっしゃるなら、というわけで試してみた。 gzipの代わりにxzを使おう | Okumura's Blog これからは gzip と打つ代わりに xz と打とう。キーストローク数が半減するだけでなく,ディスク資源が半減し,地球温暖化も半減する。下準備 具体的には、xzコマンドとGnu Tar 1.22以降を用意することになる。gzやbz2と違って、gnu tar も xz はパイプ経由で扱っているので、gnu tar だけインストールしても % gnutar Jcvf perl-5.10.0.tar.xz perl-5.10.0 perl-5.10.0/ perl-5.10.0/apollo/ perl-5.10.0/apollo/netinet/ perl-5.10.0/apol

    tips - xzってどうよ!? : 404 Blog Not Found