Required tools for playing around with memory:
hexdump
objdump
readelf
xxd
gcore
Latency Comparison Numbers (~2012) | |
---------------------------------- | |
L1 cache reference 0.5 ns | |
Branch mispredict 5 ns | |
L2 cache reference 7 ns 14x L1 cache | |
Mutex lock/unlock 25 ns | |
Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
Compress 1K bytes with Zippy 3,000 ns 3 us | |
Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
# Use envFrom to load Secrets and ConfigMaps into environment variables | |
apiVersion: apps/v1beta2 | |
kind: Deployment | |
metadata: | |
name: mans-not-hot | |
labels: | |
app: mans-not-hot | |
spec: | |
replicas: 1 |
#!/usr/bin/env bash | |
declare -i last_called=0 | |
declare -i throttle_by=2 | |
@throttle() { | |
local -i now=$(date +%s) | |
if (($now - $last_called >= $throttle_by)) | |
then | |
"$@" |
#!/usr/bin/env ruby | |
# -*- coding:utf-8 -*- | |
require 'socket' | |
require 'openssl' | |
require 'timeout' | |
require 'pp' | |
include OpenSSL | |
timeout=15 |
package main | |
import ( | |
"bytes" | |
"encoding/gob" | |
"fmt" | |
"github.com/ugorji/go/codec" | |
"io/ioutil" | |
"labix.org/v2/mgo" | |
"labix.org/v2/mgo/bson" |
#!/usr/bin/env bash | |
mariabackup --stream=xbstream --backup --user root|pigz >mariadb-backup.gz |
# Pass in an enumeration of data and | |
# (optionally) a block to extract the grouping aspect of the data. | |
# | |
# Optional: sort_by lambda (operates on group key and count) | |
# | |
def puts_hist(data, sort_by:nil, &blk) | |
data = data.map(&blk) if blk | |
counts = data.each_with_object(Hash.new(0)) {|k,h| h[k]+=1} | |
max = counts.values.max | |
width = Pry::Terminal.size!.last |
#!/bin/bash | |
# Slack notification script for Munin | |
# Mark Matienzo (@anarchivist) | |
# | |
# To use: | |
# 1) Create a new incoming webhook for Slack | |
# 2) Edit the configuration variables that start with "SLACK_" below | |
# 3) Add the following to your munin configuration: | |
# |