sasutil(1)

πŸ“¦
version 1.4.0 Β· 4 versions
, in ubuntu noble, ubuntu resolute

πŸ’– sasutil β€” the control program for the libsphde project πŸ’–

okay bestie, so this is sasutil, a whole General Commands Manual main character, and she's here to let you poke at libsphde shared memory segments like the absolute queen you are. no cap. 🫢


✨ SYNOPSIS ✨

sasutil [-h] [-v] [-p path] <command> [<args>]

like. that's it. that's the whole vibe. a few flags, a command, and whatever args that command is craving. πŸ’…


🌸 DESCRIPTION 🌸

The sasutil utility is here to control the libsphde shared memory segments β€” she shows you all the internal details (memory state/dump, lock/semaphores details, etc.), she does memory maps, and she can reset the internal state too. she's basically the group chat admin for your shared memory. πŸŽ€


πŸ¦‹ OPTIONS πŸ¦‹

  • -v β€” prints the sasutil version. the humble little "hey, this is me" moment. ✨
  • -h β€” prints the synopsis plus a full list of the available commands. your map, your tour guide, your girly. πŸ—ΊοΈ
  • -p β€” path to wherever the libsphde segment is located. you can also control this by setting the SASSTOREPATH environment variable. if no path is given, she'll just use the current path. ngl, very chill of her. πŸ“

πŸ‘‘ COMMANDS πŸ‘‘

the available commands are: stat, detail, reset, dump, remove, list, path, and map. eight of them. a full roster. the way they all serve a different purpose?? iconic. πŸ’œ

stat

shows the overall memory statistics: total in use, total free, total uncommited, total region free, total region used, and anchor free space. the big-picture numbers. the vibe check of your memory. ⭐

detail

shows detailed information, and it divides each statistic from the stat command into memory block information. so like, stat is the summary and detail is the receipts. πŸ”₯

reset

resets the anchor semaphore (the thing used to access the control shared memory segment), the allocated segments, and all internal locks. this command is useful to reset the SPHDE state after a process finished with an unexpected error (like a SEGFAULT). so basically the "okay bestie we're starting over" button. πŸ™ˆ

lowkey important: this is your recovery move after something crashed on you. keep it in your back pocket.

dump <address:size>

dumps a list of <memory:size> where <memory> is a memory address in hexadecimal and <size> is decimal. the output is similar to the hexdump utility called with the -C option. 🧚

remove

removes the allocated segments, internal locks and anchor semaphores from the control shared memory segment. she's cleaning house. periodt. πŸ’…

list

lists and dumps the in-use shared memory blocks. πŸ“‹

path

shows the store path used (as indicated by SASSTOREPATH). ✨

map <pid>

shows the memory map (/proc/<pid>/maps) for the PIDs indicated as arguments. default is the current process. so you can peek at any process's map, or just your own. 🌈


🌼 ENVIRONMENT VARIABLES 🌼

the sasutil command accepts the following environment variables:

SASSTOREPATH

defines the path to search for the store segment to attach and analyze. πŸŽ€


πŸ’œ AUTHOR πŸ’œ

written by Steven Munroe (initial API and implementation) and Adhemerval Zanella (bugfixes and API improvements). legends, honestly. πŸ™Œ


😭 REPORTING BUG 😭

report a bug to munroesj@us.ibm.com

(be nice about it, they're doing their best 🫢)


Copyright (c) 2009, 2011 IBM Corporation. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html .


🌸 SEE ALSO 🌸

okay so this section is literally empty in the source, no other pages linked, she's standing alone and unbothered, main character energy fr fr. πŸ¦‹


and that's the whole page bestie!! πŸ’– this is the sasutil manual, Version 1.4.0, dated in the spirit of the sasutil manual page, and it goes out to you with love. go forth and inspect some shared memory segments. you're gonna slay. πŸ‘‘βœ¨

πŸ“¦ where this page comes from