3 liens privés
Si on n'a pas d'outils de monitoring (ou pas accès) :
#!/bin/bash
echo "To kill : cat *.pid | xargs kill"
cp top.output.hexagon top.output.hexagon.old 2>&1 > /dev/null ; rm -f top.output.hexagon
cp vmstat.output.hexagon vmstat.output.hexagon.old 2>&1 > /dev/null ; rm -f vmstat.output.hexagon
(vmstat 30 & echo $! > vmstat.pid) | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; fflush() }' 2>&1 > vmstat.output.hexagon &
echo $$ > monitor.pid
while :
do
top -b -n 1 | grep -v "0.0 0.0" 2>&1 | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; fflush() }' 2>&1 >> top.output.hexagon
sleep 30
done
Specify a custom private key :
Add a specific configuration for your host in ssh config
Host myname.gitlab.com
Hostname gitlab.com
IdentityFile /home/myuser/.ssh/keys.d/id_rsa_git
IdentitiesOnly yes
Test SSH :
ssh -Tvvv git@myname.gitlab.com
Git command :
git clone git@myname.gitlab.com:yourrepo.git
depannageliondumatinmerci
La vraie taille des pays
Dumping des informations mémoires.
Une JVM configuré pour 7Go en prend 13G en mémoire.
Ajout du flag :
-XX:NativeMemoryTracking=summary
Attention impact un peu les performances.
Résultat, la différence était dans "Symbol" : Here is the NMT report about the symbol allocations, such as the string table and constant pool.
Et en effet cette JVM manipule beaucoup de chaines qu'elle garde en mémoire qui pourrait être interned
https://stackoverflow.com/questions/10578984/what-is-java-string-interning
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#intern()
Basically doing String.intern() on a series of strings will ensure that all strings having same contents share same memory. So if you have list of names where 'john' appears 1000 times, by interning you ensure only one 'john' is actually allocated memory.
Heap dump pour la suite.
All in one backup : to restore from a local server file.
Put the .wpress file in :
<wp_home>/wp-content/ai1wm-backups
Check cpu speed in realtime (to check boost speed)
watch -n.1 "grep \"^[c]pu MHz\" /proc/cpuinfo"
Microsoft à fond pour le support Linux :) :)
Thread per user
ps -u calrisk -o nlwp= | awk '{ num_threads += $1 } END { print num_threads }'
ps --no-headers auxwwwm | awk '$2 == "-" { print $1 }' | sort | uniq -c | sort -n
# 4th parameter number = number of thread
cat /proc/loadavg
# Also with
ps -eLf | wc -l
Raise limits in /etc/security/limits.conf
calrisk - nofile 8192
calrisk - nproc unlimited
And system parameters if needed :
echo 120000 > /proc/sys/kernel/threads-max
echo 600000 > /proc/sys/vm/max_map_count
echo 99999 > /proc/sys/kernel/pid_max
find the latest modified files recursively :
find . -type f -exec stat --format '%Y :%y %n' "{}" \; | sort -nr | cut -d: -f2- | head
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Do you want to accept these changes and continue updating from this repository? [y/N]
A simple fix for this is to either:
Run the following and manually answer y when asked to confirm the relevant changes
Note: this is NOT apt-get, but rather just standalone apt
sudo apt update
Run apt-get update with the --allow-releaseinfo-change flag to automatically confirm the changes for you:
sudo apt-get update --allow-releaseinfo-change
Dans un remote debugger :
this.getClass().getResource('/' + String.class.getName().replace('.', '/') + ".class")
Et j'ajouterai même que si le passage à PHP 8 est si compliqué c'est que les 78% du Web utilise des socles communs développés en partie en opensource par (au final) un petit nombre de développeurs.
Du coup, la maintenance de tout ça est compliqué.
Et puis, tant que ça marche.... pourquoi changer ? :) la sécurité ?
-XX:NativeMemoryTracking=summary
which produces an overview of the memory usage by the components of the JVM. It actually gives a pretty good picture of the "cost" of having a JVM.
Enabling detailed native memory tracking (NMT) causes a 5% to 10% performance overhead. The summary mode merely has an impact in memory usage as shown below and is usually enough.
It is necessary to note that while the above command indicate a scale in KB for the JVM it really means KiB.
JVM native memory tracking report
$ jcmd $(pidof java) VM.native_memory
Example of output :
Native Memory Tracking:
Total: reserved=7168324KB, committed=5380868KB
- Java Heap (reserved=4456448KB, committed=4456448KB)
(mmap: reserved=4456448KB, committed=4456448KB)
- Class (reserved=1195628KB, committed=165788KB)
(classes #28431)
( instance classes #26792, array classes #1639)
(malloc=5740KB #87822)
(mmap: reserved=1189888KB, committed=160048KB)
( Metadata: )
( reserved=141312KB, committed=139876KB)
( used=135945KB)
( free=3931KB)
( waste=0KB =0.00%)
( Class space:)
( reserved=1048576KB, committed=20172KB)
( used=17864KB)
....
Routeur linux avec access point wifi
xargs -I% echo %
find . -mindepth 1 -maxdepth 1 -print0 | xargs -0I{} echo {}
timestamp to date in command line
date -d @1267619929
Eh oui mais là où microsoft gagne c'est aussi :
- le serveur smtp/imap est compris dans le lot
- l'espace de stockage partagé
- la création en masse des utilisateurs
et que malheureusement, même si ce n'est pas si compliqué il faut monter une instance owncloud, postfix/dovecot et quelques scripts pour maintenir ces serveurs là où....
on ne paye rien pour ces actions et leurs maintenance
tips in comics
Quick script:
SET FOREIGN_KEY_CHECKS = 0;
SET @tables = NULL;
SELECT GROUP_CONCAT('`', table_schema, '`.`', table_name, '`') INTO @tables
FROM information_schema.tables
WHERE table_schema = 'database_name'; -- specify DB name here.
SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;