Skip to content

Instantly share code, notes, and snippets.

@apage43
Last active April 1, 2023 02:59
Show Gist options
  • Save apage43/ef502602a511ccff73a8882677e54627 to your computer and use it in GitHub Desktop.
Save apage43/ef502602a511ccff73a8882677e54627 to your computer and use it in GitHub Desktop.
// make mcs; ./mcs file
// writes <sample size> as uint32 to mincore.bin followed by 1 mincore() per second for 60 seconds
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <stdint.h>
#include <fcntl.h>
#include <unistd.h>
#define CHECK(x) if ((x) == -1) { perror(#x); err = 1; goto cleanup; }
#define USEC_PER_SEC 1000000
int main(int argc, char **argv) {
int err = 0;
if (argc < 2) {
printf("Usage: %s <filename>", argv[0]);
}
int fd = open(argv[1], O_RDONLY);
struct stat statbuf;
CHECK(fstat(fd, &statbuf));
void* mapping = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0);
if (mapping == NULL) {
perror("mmap");
err = 1;
goto cleanup;
}
int pagesize = 4096;
FILE* outf = fopen("mincore.bin", "w");
if (outf==NULL) {
perror("fopen");
err = 1;
goto cleanup;
}
uint32_t mcbuflen = (statbuf.st_size + pagesize -1 ) / pagesize;
fwrite(&mcbuflen, sizeof(mcbuflen), 1, outf);
int steps = 60;
void* mcorebuf = malloc(mcbuflen);
for (int i=0; i<steps; i++) {
mincore(mapping, statbuf.st_size, mcorebuf);
fwrite(mcorebuf, mcbuflen, 1, outf);
usleep(USEC_PER_SEC);
}
cleanup:
fclose(outf);
free(mcorebuf);
return err;
}
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"bufsz: 4964301\n"
]
}
],
"source": [
"import struct\n",
"def mcores():\n",
" with open('./mincore.bin', 'rb') as mbf:\n",
" bufszp = mbf.read(4)\n",
" bufsz = struct.unpack('I', bufszp)[0]\n",
" print('bufsz: %d' % bufsz)\n",
" while True:\n",
" buf = mbf.read(bufsz)\n",
" if buf:\n",
" yield buf\n",
" else:\n",
" break\n",
"samples = list(mcores())\n",
"len(samples)\n",
"resident = [len(s) - s.count(b'\\x00') for s in samples]"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.lines.Line2D at 0x7f9616f77dc0>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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QUGBJMbqQhYuXKh+/frppptuUuvWrdWnTx+99tprdc97e9z8vliUlJTI6XSqTZs29R5v06aNioqKDKXyD9+PD2N3fpZlacaMGRoyZIh69OghiTG7kK1btyomJkZ2u12TJ0/WggUL1K1bN8brAubPn69vvvlG2dnZ5zzHmNV31VVXad68eVqyZIlee+01FRUVadCgQTp27BhjdQEFBQWaO3euOnfurCVLlmjy5Mm65557NG/ePEne/xlr8t1NveXHW7BbluXRbdkDGWN3fnfffbe2bNmizz///JznGLP6MjMztXnzZp08eVL/+Mc/NGnSJK1ataruecbrXwoLC3Xvvfdq6dKlioyMvOBxjFmtCRMm1P17z549NXDgQHXq1El/+9vfNGDAAEmM1Y+5XC7169dPTz/9tCSpT58+2rZtm+bOnavbb7+97jhvjZvfz1i0bNlSoaGh57Ss4uLic9oY6vv+zGrG7lzTpk3TwoULtWLFCqWkpNQ9zpidX0REhDIyMtSvXz9lZ2erd+/eeuGFFxiv89i4caOKi4vVt29fhYWFKSwsTKtWrdKLL76osLCwunFhzM4vOjpaPXv2VH5+Pj9fF5CUlKRu3brVe6xr1651FzR4e9z8vlhERESob9++ysnJqfd4Tk6OBg0aZCiVf0hPT1fbtm3rjV1VVZVWrVoVtGNnWZbuvvtuffDBB1q+fLnS09PrPc+YNYxlWXI4HIzXeYwePVpbt27V5s2b6279+vXTLbfcos2bN6tjx46M2UU4HA7t2LFDSUlJ/HxdwODBg8+5TD4vL09paWmSmuB97LJP//QB8+fPt8LDw6033njD2r59uzV9+nQrOjra2rt3r+loxpWXl1ubNm2yNm3aZEmyZs+ebW3atMnat2+fZVmW9cwzz1jx8fHWBx98YG3dutX65S9/aSUlJVllZWWGk5sxZcoUKz4+3lq5cqV1+PDhutvp06frjmHM6ps5c6a1evVqa8+ePdaWLVushx9+2AoJCbGWLl1qWRbj1RA/vCrEshizH7rvvvuslStXWgUFBda6deus6667zoqNja17f2eszvX1119bYWFh1lNPPWXl5+db77zzjhUVFWW9/fbbdcd4c9wColhYlmW9/PLLVlpamhUREWFdeeWVdZcHBrsVK1ZYks65TZo0ybKs2suOHnvsMatt27aW3W63hg0bZm3dutVsaIPON1aSrDfffLPuGMasvl/96ld1f/datWpljR49uq5UWBbj1RA/LhaM2b/cfPPNVlJSkhUeHm4lJydb//Zv/2Zt27at7nnG6vw++ugjq0ePHpbdbreysrKsV199td7z3hw3tk0HAAAe4/fnWAAAAN9BsQAAAB5DsQAAAB5DsQAAAB5DsQAAAB5DsQAAAB5DsQAAAB5DsQAAAB5DsQAAAB5DsQAAAB5DsQAAAB5DsQAAAB7z/wGsUsBZy3Zs1QAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"plt.plot(resident)\n",
"plt.axhline(y=len(samples[0]), color='r', linestyle='-')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "fssd",
"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.10.9"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment