タグ

コマンドに関するlearnのブックマーク (32)

  • http://www.brendangregg.com/Perf/linux_perf_tools_full.png

  • docker container / image コマンド新旧比較 - Qiita

    概要 2017年1月18日にリリースされた Docker v1.13 以降(今日現在の v17.03.0-ce )は、 docker コマンドラインの命令体系が再編成されました。記事では変更に至った背景と、新旧コマンド体系の比較情報を整理します。 新しいサブコマンド体系の導入と背景 新しいコマンド体系の導入に至ったのは、docker のトップレベル・コマンド群が 40 を越える状況(当時)となったためです。コマンドには頻繁に使うものもあれば、使わないものもあり、再編成されることになりました。 v1.13から論理オブジェクト単位にコマンドが再編成されました。これは、「何」(コンテナやイメージ、ネットワーク)を、「どうするか」(作成、一覧、起動、停止)で扱います。そのため、従来よりもコマンドの利用目的が分かりやすくなります。たとえば、コンテナを管理する docker container サブ

    docker container / image コマンド新旧比較 - Qiita
  • 『最速を究める! 2つのサーバ間で特盛りデータを30倍速で転送する方法』

    最速を究める! 2つのサーバ間で特盛りデータを30倍速で転送する方法 | サイバーエージェント 公式エンジニアブログ こんにちは. エンジニアの平野です. ふだんはプライベートクラウドのサーバハードウェアとストレージを担当しています. サーバのリプレイスや増設, 仮想サーバの移植などでテラバイトクラスのデータを2つのサーバ間で転送することがよくあります. こんなとき, 転送終了を待ちながら「あと何時間掛かるのかなー」とか「もっと速く転送終わらないかなー」なんて考えたことはありませんか? 今回は下記のようなシーンで活躍する, 特盛りデータを30倍高速に転送する方法をご紹介します. - サーバの交換でデータを移設したい - MySQLスレーブサーバの増設したい - 仮想サーバを別のホストに移植したい - 大量のファイルを別のサーバに移設したい - 大容量データをバックアップしたい ■ 環境を用

    『最速を究める! 2つのサーバ間で特盛りデータを30倍速で転送する方法』
  • 訳:非推奨になったLinuxネットワークコマンドの代替コマンド - aws memo

    これはちゃんとチェックしておかないとなぁ。 Deprecated Linux networking commands and their replacements « Doug Vitale Tech Blog ==== この記事で詳しく説明する非推奨のLinuxネットワークコマンドは:arp, ifconfig, iptunnel, iwconfig, nameif, netstat, route である。iwconfig以外の コマンドは、net-toolsパッケージという、数年間メンテナンスされていないパッケージに含まれている。これらのユーティリティによって提供される機能は、新しいipコマンドを主に使うiproute2 スイートで再提供され、改善され続けている。iproute2ソフトウェアのコードとドキュメントは、Kernel.orgとLinux Foundationで見ることができ

    訳:非推奨になったLinuxネットワークコマンドの代替コマンド - aws memo
  • /proc/cpuinfoを目で読むのがつらい

    最近のコンピュータだとCPUのコア数やスレッド数が多いので/proc/cpuinfoを直接読むよりまとめて出力してくれるlscpuやhwlocをつかったほうがよい。 最近コア数とか多いですね。デスクトップでもCore i7だと8スレッドとかありますしサーバだと4ソケット40コア80スレッドとかあります。 CPUがどういう構成なのか知りたい時は /proc/cpuinfo  や /sys/devices/system/cpu/* を読むことが多いですが表示が冗長なのでつらいです。そこで適当にまとめて表示してくれるコマンドが便利です。 lscpuはCPUのキャッシュ構成とか、ソケット-コア-スレッドの個数の関係がわかります。実機で数回実行するとわかりますがCPU MHzのところは実際の周波数にあわせてちょいちょい変わるのでアテになりません。 出力はこんなかんじ: $ lscpu Archite

    /proc/cpuinfoを目で読むのがつらい
    learn
    learn 2013/12/23
    lscpu, hwloc-ls
  • How to sleep for five seconds in a batch file/cmd

    OverflowAI is here! AI power for your Stack Overflow for Teams knowledge community. Learn more

    How to sleep for five seconds in a batch file/cmd
    learn
    learn 2013/11/24
    pingを使ってsleep
  • ITインフラで起きる「もしも」のための12個のコマンド

    こんにちは。斎藤です。 ITインフラの障害は、多くの場合「予期せぬ」タイミングで発生します。特に、CPUリソースを多量に消費したり、Disk I/Oが輻輳している場合、その切り分けは困難な状況に陥りやすいものです。 そこで、日はITインフラ、特にOS・ミドルウェアを支えるにあたって、問題解決を助けてくれるであろう12個のコマンドを取り上げてみます。「必ず押さえておきたい」5つのものと「更に覚えると便利なコマンド」7つの2節に分けてお話しします。 ※CentOS 6.4 (64bit)を前提に取り上げます 必ず押さえておきたいコマンド もしITインフラ管理者になりたてな方はぜひ サーバサイドのプログラマをやっていたのだけれど、ある日突然「君、サーバ管理担当ね!」と、バトンを渡される方っていらっしゃると思います。私も以前はそのクチでした...。そうなってしまったとき、まずは覚えておきたい5つ

    ITインフラで起きる「もしも」のための12個のコマンド
  • jqコマンドが実は高性能すぎてビビッた話

    GWが始まりましたが、鎌倉のGWは観光客多すぎて逆に住民はげんなりして外に出なくなる感じです。とはいえ路地まで観光客が攻め込んでくることは少ないので、路地を散歩する分には天気がよくていい感じですね。ちなみに人力車のおにーさんはそういう味のある路地を知り尽くしているので人力車で移動するのはそこそこオススメです(ぼくは乗ったことないけど「こんなところも通るんだ!」ってところで見かけたりします)。 さて、jqというコマンドをご存じでしょうか。 jq jq is a lightweight and flexible command-line JSON processor. と書いてあるとおり、コマンドラインでJSONを扱うことができるコマンドです。で、今まさに仕事で巨大JSONと戦うことが多く、このコマンドが大活躍です。 とはいえ、ぼくの使い方としては「巨大JSONをキレイに整形して表示する」とい

    jqコマンドが実は高性能すぎてビビッた話
  • git 1.8.2 リリースノートを眺めて、新機能把握と設定を追加 | Act as Professional

    世の中はGoogleリーダーで盛り上がってる中、Livedoor Readerに移行した@HIROCASTERでございませう。 そんななか、ひっそりと git 1.8.2 がリリースされました。 リリースノートを眺めていたら知らない機能があったので書いておきます。 git check-ignore * “git check-ignore” command to help debugging .gitignore files has been added. 1.8.2からの新機能です。 .gitignore ファイルに記述されてい内容と実際のファイルが該当するかチェックできます。 例えば .gitignore ファイルに /tmpと書いたとします。 $ git check-ignore -v ./tmp .gitignore:1:/tmp ./tmpのように1行目の設定に該当して、exclu

    git 1.8.2 リリースノートを眺めて、新機能把握と設定を追加 | Act as Professional
  • 実行中のJavaアプリケーションの拡張設定を確認/変更する - CLOVER🍀

    jinfoというJDKに付属しているコマンドラインツールを使用すると、Javaの起動オプションやシステムプロパティを確認できたり、「-XX」ではじまる一部の値については実行中に変更できるようです。 詳しい説明は以下に書いてありますが、jstackやjmapなどと同様、使用するには対象のJavaVMのPIDが必要です。 http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/share/jinfo.html 例えば、以下のようなちょっとわざとらしいオプション指定でJavaアプリを起動します。 $ java -Xmx512M -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=2 -XX:+PrintGCTimeStamps -XX:+PrintGC -XX:+Pr

    実行中のJavaアプリケーションの拡張設定を確認/変更する - CLOVER🍀
  • 革命の日々! mtraceの使い方

    何回調べても忘れてしまうシリーズ 今回はmtraceの使い方。 mtraceというのはmallocやfreeなどのメモリ管理系の関数をHookして、メモリリークを追跡してくれる便利なライブラリ関数です。 glibc付属なので特殊なソフトのインストールが必要ないのが利点。 使い方の注意点と手は Electric Fence などのmallocを乗っ取るライブラリと共用できないこと(アタリマエだ) malloc/freeのたびにファイルに書くので結構なオーバーヘッドを伴うこと。 スレッドセーフじゃないこと(これはmallocのhookの仕組みがタコいんです) mtrace()関数を呼び出すとトレースを開始する。というセマンティクスなのでシェルなどからイマイチ使いづらい所も欠点と言える。 まあ、実例を見てください。 まず、こういうファイルを用意 mtrace_on.c ---- #include

  • 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で割った値で設定すると目的の値に設定できる見たいで

  • git/git覚書 - TOBY SOFT wiki

    はじめに † gitの個人的によく使いそうなコマンドをまとめてみました。自分用チートシートです。 よく使うコマンドは ../コマンドの省略(alias)設定をする方法にて省略形を作っておくと便利です。 各コマンドの詳細は git (コマンド名) --help すると記載があるのでそれ見てもらったら早いと思われます。 ↑ 前提 † 変更したファイルをコミットするときは、 [ローカル]→(addコマンドする)→[インデックスに入る]→(commitコマンド)→[リポジトリに入る] という状態の推移に注意して下さい。 gitでは「コミットしたいものをaddすると一旦インデックスに入るので、次にインデックスに入れたものをcommitでリポジトリにコミットする」と私は理解をしましたが、来の用途とは別かもしれないです。 ※TODO: 概念の背景を後で調べる ※Subversionように「addでファ

  • layer8.sh

    This domain may be for sale!

  • xargs を使ってカジュアルに並列処理 - たごもりすメモ

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

    xargs を使ってカジュアルに並列処理 - たごもりすメモ
  • GNU Parallelがすごすぎて生きるのがつらい

    皆さん今日もたくさんのサーバを相手にされていることかと思いますが、いくつかのサーバにアクセスして 1 秒間の統計情報(例えばvmstat 1 2)を集めてパッと表示したい時ってどうやってますかね?shell script を学びはじめたばっかりの僕はこんな感じで書いてました。 $ for i in host1 host2 host3; do ssh $i "vmstat 1 2 | tail -1"; done 0 0 0 329004 210836 14275360 0 0 0 2424 1410 1828 0 0 100 0 0 0 0 0 3716112 587704 25921684 0 0 0 488 1643 2026 0 0 100 0 0 1 0 0 555440 265560 14015548 0 0 0 4204 1534 2392 1 0 99 0 0 vmstatと

    GNU Parallelがすごすぎて生きるのがつらい
  • seqコマンドの色々なオプション - 元RX-7乗りの適当な日々

    seqコマンドは、数値を規則的に増加/減少させるコマンド。 $ seq 1 5 1 2 3 4 5単純に増加させたり、、、 $ seq 10 -2 0 10 8 6 4 2 0増減幅を指定して減少させたり。 そんなseqコマンドにオプションがあることを知りました。 "-s" 区切り文字を指定する "-s"オプションを使うと区切り文字が指定できる。 $ seq -s , 1 5 1,2,3,4,5例えば、カンマ区切りにしたい場合は↑のような感じ。 ちなみに余談ですが、、、 $ seq 1 5 | paste -s -d , 1,2,3,4,5このオプションを使わなくても、pasteコマンドを併用すれば実現できなくもない。 "-w" 桁数を揃えて表示 "-w"オプションは、数字の桁数を揃えるために、頭をゼロ(0)で埋めて表示してくれる。 $ seq -w 0 10 100 000 010 02

    seqコマンドの色々なオプション - 元RX-7乗りの適当な日々
  • koshigoe.jp

  • 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