Last active
April 2, 2019 18:25
-
-
Save hyounggyu/13cc52824ccc0b36b315b957f0c143e2 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import json" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import matplotlib.pyplot as plt" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import pandas as pd" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 42, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "def create_df(procs, pid):\n", | |
| " gbytes = 1024*1024*1024\n", | |
| " df = pd.DataFrame(procs[pid])\n", | |
| " df[\"io_read_gbytes\"] = df.io_read_bytes / gbytes\n", | |
| " df[\"io_write_gbytes\"] = df.io_write_bytes / gbytes\n", | |
| " df[\"mem_rss_g\"] = df.mem_rss / gbytes\n", | |
| " df[\"mem_vms_g\"] = df.mem_vms / gbytes\n", | |
| " df[\"cputime_user\"] = df.cpu_times.apply(lambda x: x[0])\n", | |
| " df[\"cputime_system\"] = df.cpu_times.apply(lambda x: x[1])\n", | |
| " return df" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# AMoRE II Muon Simulation" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "- Number of events: 10,000" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Load log data" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "rows = None\n", | |
| "with open(\"proc.log\", \"r\") as fp:\n", | |
| " rows = [json.loads(line) for line in fp.readlines()]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "procs = dict()\n", | |
| "for row in rows:\n", | |
| " for proc in row:\n", | |
| " try:\n", | |
| " procs[proc[\"pid\"]].append(proc)\n", | |
| " except KeyError:\n", | |
| " procs[proc[\"pid\"]] = [proc]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "List all processes" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 22, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "dict_keys([25680, 25745])" | |
| ] | |
| }, | |
| "execution_count": 22, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "procs.keys()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Create dataframe from process ID 25745 data" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 43, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "df = create_df(procs, 25745)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Plot" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 83, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "plt.rcParams['figure.figsize'] = [10, 7]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 88, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "plt.rcParams[\"font.size\"] = \"20\"" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 89, | |
| "metadata": { | |
| "scrolled": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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hUGDBm3x3IMPPsjjjz++Rbf+xRdfzDXXXMNtt93Gj3/846Txi4i02MZ14XzS32DM0WqNlGapW1zalfHjx+PuW3R9z5o1iwMPPJAuXbqw8847M3DgwC26zpsbb3nsscemlFhmwmuvvcacOXM4/vjjt0gsIbRuTps2jaqqKu67774Gz5588skN4j/33HMBeOmll1ovaBERgJqqcC4sUmIpSanlsr3LQItgezJx4kTuvPNOZs6cyde//nUWLlzI559/zve///1NZcrKynjyySepr68nLy9vU3J5yCGHNKhv7733brPYX3jhBQDWrFnD1KlTG9xfvjzMrGxsHGVpaWmDa1/60pcAWLVqVYN7IiIZVVsZzl26ZzcOaReUXEq7Emu9i42zjB9vGVNWVsY999zDK6+8wvDhw3n99dcZMmQIO+64Y4P6Bg8e3AZRBytXrgTgySef5Mknn2yyXEVFRYNr8eM2Y7p0Cf/3raura3BPRCSjYi2XBd2yG4e0C0oupV0ZNmwYo0eP5v333+eTTz5h5syZ9O7dmz322GNTmfHjxwOhO3z48OG4e5NLEFkbdu+UlIStzW644QYuuOCCNnuviMhWq42SS7VcSgo05lLanVii+NRTTzFnzhwOPvjgLSbqjBkzhm222YaZM2e2aH3L5uTn5wNNtxY2dz+2u9Czzz6bkVhERNpMzYZwVsulpEDJpbQ7sS7w6667jvLy8k0tlfHKysp49tlnN60dmanksl+/fgAsXrw47fulpaUceOCB3H///dx2W+OLCr/++ut88cUXGYlVRCRjatRyKalTt7i0OxMmTMDMeP311zd9TzR+/HjuuusuPvroI3bccUeGDBmSkXfHljO6+OKLeeONN+jTJ6zjdumllwIhif31r3/NOeecwwknnECvXr3o3bs3559/PhD2QJ8wYQJnnXUWN954I/vssw+9e/fm008/ZcGCBbzxxhu88MILDBw4MCPxiohkRGxCT4GSS0lOyaW0OwMGDGDXXXdlwYIF9O/fn1122aVBmfjWzEy1WkJYa/P222/n2muv5ZZbbqGqKvzXfCy5PPzww/nNb37DrbfeynXXXcfGjRsZPnz4puRy6NChzJ8/n5tuuon77ruPO++8k7q6OgYPHsxOO+3E9773PXbdddeMxSsikhGbJvQouZTkzN2zHQMAZjYUuAKYBPQDPgceBKa5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\n", | |
| "text/plain": [ | |
| "<Figure size 720x504 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "ax = plt.gca()\n", | |
| "df.plot(kind='line', x='walltime', y='io_read_gbytes', ax=ax)\n", | |
| "df.plot(kind='line', x='walltime', y='io_write_gbytes', ax=ax)\n", | |
| "ax.set_title('Disk I/O')\n", | |
| "ax.set_xlabel('Wall time (sec)')\n", | |
| "ax.set_ylabel('Number of bytes(GB)')\n", | |
| "ax.legend(['Read', 'Written'])\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 90, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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faY1Rq8dWuv06dM566yzaG1t5bnnnktYaypqamr49a9/zfLly/nDH/7Ahz70IQ499FAmTZrECSecwA033EBPT88+13zve9+jr6+P6667bp/AB3DSSSdx5plncvfdd9Pe3j7i+r785S9zySWX8Morr7B69WpOOOEE6uvrWbZsGatWreKll17KqN/f//73XHbZZSxatIhf//rXg4HvL3/5C+vWreNd73rXPoEPoL6+njVr1tDd3c0vfvGLEf9uhU63dwvUzrZuBhxm1On2rkipycYIWrFZs2bNPq/NjP/8z//f3p3HV1Gdjx//PEkgQNjCjgHCJrIjmrIjuyAFal1KBSXsaAsCtlaxUgKKYDFC9CdfQQyIFVtAAaXs+yKKLLIoCgJBQQKBkLBKgJzfHzM3vblL9nBD7vN+veY1ZM6Zc58595L7ZGbOmfcZNGiQW90dO3ZQpEgRFnO50YwAACAASURBVC1axKJFi9zKU1JSSEhI4Pz585QvX56+ffsSExPDww8/zGOPPUbXrl1p27ZtutGfGdmzZw8AHTp0cCurXbs21atX58SJE7mK0aFMmTLUrVvXrX716tUB68xkXmjatCl79+5l165dbNy4kd27d/Pll1+yZcsWtmzZwuzZs9m4cSOhoaFpxwOwefNmvv76a7f2zp49y61btzh8+DD3339/rmILDg5m9uzZvPLKK6xatYqvvvqKPXv2sGvXLmJiYpg9ezYLFy6kV69eWW7zu+++49FHH6VkyZKsWLGCihUrppU5ji05OdntPj+wzq6CdVatsNOkr4D6JekaAGFl3f9yVUqpO43jstyVK1fYsWMHQ4YM4emnnyY8PJzOnTunq3v+/Hlu3rzplii6unz5MuXLl6dFixZs3bqVyZMns3jxYj788EMA7rnnHiZMmMATTzyRYTvJyckAXi/tValSxS3py26MDq5nBR0cU6fcunUrw/ayKyIigoiI/13127lzJ5GRkezbt4+JEycyY8YMwDoegGnTpmXY3uXLl/MstsqVKxMZGUlkZCRgDbR44YUXmDNnDoMHD+bkyZMULZr5E6ni4+Pp2bMn165dY82aNdxzzz3pyh3HtnbtWtauXeu1nbw8toJKL+8WUKfspK9aqCZ9SqnCIyQkhK5du/L5559z69YtIiMj3eZfK1OmDKGhoRhjMlzCw8PT9mndujXLly/nwoUL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n//M1atXWbx4MX379uWbb77htddec4v56NGjtGzZknr16tG/f3+uXbtG6dKl+dOf/kRkZCTvvfcekydPdttvzpw5BAcHExkZmWm/li9fnpMnT3L48OFc3S7g7X7LDz/8kGPHjqX7bJ84cYKOHTsSFxdH+/bt6dGjB1euXGH58uX06NGDWbNmpf1BdLtp0udjZy9Zf4FVKlXMx5EopW6blS9C/AFfR5GxKk3goam5aqJixYo8/PDDLFy4kIULFzJw4MB05Y4zWI77/7LiwIEDPPXUU8TGxqZLYh566CHi4uLYt28fY8aM8XpGL7v++9//UqdOnXTbUlNTGTRoEPPnz2fkyJG0bNkyT15r2LBhzJ8/n3nz5jFu3DgAlixZwvnz5zNMEubNm0dsbCy///3v+eijjyhevHhaWVRUFBMnTuSdd95xO9u1b98+RowYwcyZMwkIsC78devWjQEDBtCpUyfatm3Lpk2bKFbM+n566qmneOCBB3j99dfTXWaOjo5m8+bNPPTQQ3z22Wdp78uECRNo0aIFU6ZMoVevXrRp0ybd62/bto1x48a5JYSNGjXiueeeIzY2lqioKIoUKZJWtmnTJn744Qf69euXpVsA+vbtS3R0NH369OGZZ56hU6dO3HvvvZQunb3HnbqeyQOYO3cux44do1WrVjz77LNp2yMjIzlx4gQff/wxf/zjH9O2JyUl0bFjR5599ln69OlD5cq3f/CmXt71sbMXHUmfnulTShU+joRuzpw56bafPn2aFStWULlyZX73u99lub2iRYvyxhtv3LZBDa4JH0BAQEBaArV69eo8e6127drRoEED5syZgzEGsBLj0NBQHn30Ua/7xcTEpA0EcU74AMaPH0/58uX56KOP3PYrUaIE06ZNS0v4wBp1HRQUxIULF4iJiUlL+ADat29PzZo1+eabb9K1Exsbi4jw5ptvpntfKlWqxPjx4wH39x9IO0PrKjg4mEGDBhEfH89nn32WrmzWrFkAjBgxwmt/OJs8eTLDhg3j/PnzREVF0aFDB8qWLUv9+vUZM2YMx44dy1I7rtavX8+IESOoXbs2n332WVo/7du3j82bN/Poo4+mS/jAOps7ceJEfv31Vz755JMcvW5u6Zk+HzudfA2Aipr0KeU/cnkG7U7SuXNn6tSpw/bt2zl06BANGjQArLMkN2/eZODAgenO5GSmZs2aVKpUKb/CdXP+/HmmTZvGihUrOHbsGFeuXElXfurUqTx9vaFDh/KXv/yFDRs2EB4ezsaNGxk1alS65MvZ1atX2bdvHxUqVGDGjBke6wQHB3scjVqvXj1KlSqVbltgYCCVK1fmypUr1K5d222fsLAwvvrqq7SfL126xI8//khYWJjbvXFgvf8Ae/fudStr1qwZwcGev/ueeeYZoqOjmTVrVlrCe+7cOZYsWUKDBg144IEHPO7nKjg4mNmzZ/PKK6+watUqvvrqK/bs2cOuXbuIiYlh9uzZLFy4MG3keFZ89913PProo5QsWZIVK1ZQsWLFtLIdO3YAkJyc7PHsYEJCAoDPRgdr0udjmw8nUC6kKLUqhPg6FKWUynOOQRrjxo1jzpw5REdHY4xJOzuU2eAEV1WqVMmnSN0lJSXxm9/8huPHj9OiRQsGDBhAuXLlCAoKIikpiZiYGI+DJHJjwIABvPTSS8yZM4fw8HCMMRle2r1w4YI1IDAhgYkTJ2brtcqUKeNxe1BQUIZlN2/eTPs5OTkZIO0eRFeO7UlJSW5lGb2XtWvXpnv37qxevZqjR49Sp04d5s2bx/Xr17N8ls9Z5cqViYyMTLsPMDExkRdeeIE5c+YwePBgTp48SdGiRTNtJz4+np49e3Lt2jXWrFnDPffck678/PnzAKxdu5a1a9d6befy5cvZPoa8oJd3fej6zVtsOHSWbg0q6xx9SqlCa9CgQRQpUoT58+eTkpLChg0bOHr0KJ06daJu3brZais3T0oICAhIl7A485SUzJkzh+PHjzNhwgS++uorZs6cyauvvkpUVBR9+/bNcRwZqVChQtrULLGxsbRu3ZrGjRt7re9Izpo3b44xJsMlPzhePz4+3mP56dOn09Vzltl7+cwzz2CMSbv3c86cORQrVowBAwbkJmQAypUrx6xZs6hRowYJCQkcPHgw032uXr1K7969OXHiBLGxsXTo0MGtjuM4Y2JiMnwv5s6dm+tjyAnNNHzoi6PnuXT9Jj0a376/XJVS6narXLkyffr04dy5cyxdujTt/q7sDODIisDAQACvExyHhoZy5swZbty44Va2a9cut20//vgjgMf76TZv3pybUDM0bNgwrl+/TkJCQqajPEuWLEmjRo349ttvSUxMzLeYvClVqhR16tTh1KlTHDlyxK3cMfGxt3kaM9KrVy9q1KjB3LlzWbNmDT/88AN/+MMfCA0NzXXcYP0REBJiXWXLLClOTU2lX79+7Nq1i0mTJtG/f3+P9Ryjmh3T3hQ0mvT50KoD8ZQMDqJN3fK+DkUppfKVI3mJjo5myZIlaWe08lL58tbv0p9++sljeYsWLbh586bbWZZ58+axfft2t/qOEcCuc/ft3buXKVOm5D5gLzp16sSyZctYsmSJ22AAT5577jlSUlIYPHiwxzOWFy5cYM+ePfkRKgCDBw/GGMPzzz+fLuE+d+4cr7zySlqd7AoICGD48OGcPXs2bf+nn346W21MnDjR63x/ixcv5vvvvyc0NDTDs6lg9fGyZcuIjIxMG5ziSUREBO3bt+fTTz8lNjbWY50DBw5w9uzZLB9DXtJ7+nwk6WoKn+//hR6NqxAcFOjrcJRSKl89+OCD1KpVi507dwLWo9aycg9VdnTp0oVp06YxbNgwHnvsMUqWLEnZsmUZOXIkAKNGjWLu3Lk888wzrF+/nurVq7Nv3z6++OILevXqxfLly9O1N2DAAKZNm8aYMWPYuHEjd999N0eOHGH58uU88sgj/Oc//8nT+B1EhD59+mS5/uDBg9m9ezczZ86kTp06dO/enRo1apCYmMjx48fZsmULgwYN4t13382XeP/617+ycuVKli1bRrNmzejZsydXr15l0aJFnD17lr/97W+0a9cuR20PHTqUSZMmcerUKZo0aULr1q2ztf/06dOJioqiefPmREREULFiRZKTk9mzZw87duwgKCiId9991+uAEoCdO3emjWQOCwvzOECjY8eOac9EXrBgAZ07d2bIkCG89dZbtGzZkrJly3Ly5En279/PwYMH2bFjx20dkOSgSZ+PLN59kqsptxjxgPt0AEopVdiICEOGDOHll18GyJfJabt37050dDTvvfce06dPJyUlhfDw8LSkr2HDhqxbt46XXnqJzz//nKCgINq3b8+OHTv49NNP3ZK+u+66i61bt/Liiy+ybds2Vq9eTf369Zk5cyZdu3bNt6QvJ9555x0eeugh3n33XdatW0dSUhLlypWjRo0aPP/88zz55JP59tpFixZl7dq1vPnmmyxYsIC3336boKAgmjVrxowZM3jiiSdy3HblypXp2bMnS5cuzdEAjuXLl7Ny5Uo2b97MqlWrOHPmDEFBQVSrVo2hQ4fy7LPP0qRJkwzbuHr1KgC//vqr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\n", | |
| "text/plain": [ | |
| "<Figure size 720x504 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "ax = plt.gca()\n", | |
| "df.plot(kind='line', x='walltime', y='mem_rss_g', ax=ax)\n", | |
| "df.plot(kind='line', x='walltime', y='mem_vms_g', ax=ax)\n", | |
| "ax.set_title('Memory')\n", | |
| "ax.set_xlabel('Wall time (sec)')\n", | |
| "ax.set_ylabel('Number of bytes(GB)')\n", | |
| "ax.legend(['Resident Set Size', 'Virtual Memory Size'])\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.7.1" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 2 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment