Skip to:
Hi All,
Zilstat still seems broken on UEFI systems.
This system is fully up to date (new install)
When running
zilstat -l 42 Test-Z3
i get:
dtrace: invalid probe specifier#pragma D option quietinline int OPT_time = 0;inline int OPT_txg = 0;inline int OPT_pool = 0;inline int OPT_mega = 0;inline int INTERVAL = Test-Z3;inline int LINES = 42;inline int COUNTER = -1;inline int FILTER = 0;inline string POOL = "";dtrace:::BEGIN{/* starting values */MEGA = 1000000;counts = COUNTER;secs = INTERVAL;interval = INTERVAL;interval == 0 ? interval++ : 1;line = 0;last_event[""] = 0;nused=0;nused_max_per_sec=0;nused_per_sec=0;size=0;size_max_per_sec=0;size_per_sec=0;syncops=0;size_4k=0;size_4k_32k=0;size_32k=0;OPT_txg ? printf("waiting for txg commit...\n") : 1;}
/*
collect info when zil_lwb_write_start fires */fbt::zil_lwb_write_issue:entry/OPT_pool == 0 || POOL == args[0]>zl_dmu_pool>dp_spa->spa_name/{ nused += args[1]->lwb_nused; nused_per_sec += args[1]->lwb_nused; size += args[1]->lwb_sz; size_per_sec += args[1]->lwb_sz; syncops++; args[1]->lwb_sz <= 4096 ? size_4k++ : 1; args[1]>lwb_sz > 4096 && args[1]>lwb_sz < 32768 ? size_4k_32k++ : 1; args[1]->lwb_sz >= 32768 ? size_32k++ : 1;}
Timer */profile:::tick-1sec{ OPT_txg ? secs++ : secs--; nused_per_sec > nused_max_per_sec ? nused_max_per_sec = nused_per_sec : 1; nused_per_sec = 0; size_per_sec > size_max_per_sec ? size_max_per_sec = size_per_sec : 1; size_per_sec = 0;}
Print header */profile:::tick-1sec/OPT_txg == 0 && line == 0/{ /* print optional headers */ OPT_time ? printf("%-20s ", "TIME") : 1;
/* print header */OPT_mega ? printf("%10s %10s %10s %10s %10s %10s","N-MB", "N-MB/s", "N-Max-Rate","B-MB", "B-MB/s", "B-Max-Rate") :printf("%10s %10s %10s %10s %10s %10s","N-Bytes", "N-Bytes/s", "N-Max-Rate","B-Bytes", "B-Bytes/s", "B-Max-Rate");printf(" %6s %6s %6s %6s\n","ops", "<=4kB", "4-32kB", ">=32kB");line = LINES;}
fbt::txg_quiesce:entry/OPT_txg == 1 && POOL == args[0]>dp_spa>spa_name && line == 0/{OPT_time ? printf("%-20s ", "TIME") : 1;
OPT_mega ? printf("%10s %10s %10s %10s %10s %10s %10s","txg", "N-MB", "N-MB/s", "N-Max-Rate","B-MB", "B-MB/s", "B-Max-Rate") :printf("%10s %10s %10s %10s %10s %10s %10s","txg", "N-Bytes", "N-Bytes/s", "N-Max-Rate","B-Bytes", "B-Bytes/s", "B-Max-Rate");printf(" %6s %6s %6s %6s\n","ops", "<=4kB", "4-32kB", ">=32kB");line = LINES;}
Print Output */ profile:::tick-1sec /OPT_txg == 0 && secs == 0/ { OPT_time ? printf("%-20Y ", walltimestamp) : 1; OPT_mega ? printf("%10d %10d %10d %10d %10d %10d", nused/MEGA, nused/(interval*MEGA), nused_max_per_sec/MEGA, size/MEGA, size/(interval*MEGA), size_max_per_sec/MEGA) : printf("%10d %10d %10d %10d %10d %10d", nused, nused/interval, nused_max_per_sec, size, size/interval, size_max_per_sec); printf(" %6d %6d %6d %6d\n", syncops, size_4k, size_4k_32k, size_32k); nused = 0; nused_per_sec = 0; nused_max_per_sec = 0; size=0; size_max_per_sec=0; size_per_sec=0; syncops=0; size_4k=0; size_4k_32k=0; size_32k=0; secs = INTERVAL; counts--; line--; }
fbt::txg_quiesce:entry/OPT_txg == 1 && POOL == args[0]>dp_spa>spa_name/{secs <= 0 ? secs=1 : 1;OPT_time ? printf("%-20Y ", walltimestamp) : 1;OPT_mega ?printf("%10d %10d %10d %10d %10d %10d %10d", args[1],nused/MEGA, nused/(secs*MEGA), nused_max_per_sec/MEGA,size/MEGA, size/(secs*MEGA), size_max_per_sec/MEGA) :printf("%10d %10d %10d %10d %10d %10d %10d", args[1],nused, nused/secs, nused_max_per_sec,size, size/secs, size_max_per_sec);printf(" %6d %6d %6d %6d\n",syncops, size_4k, size_4k_32k, size_32k);nused = 0;nused_per_sec = 0;nused_max_per_sec = 0;size=0;size_max_per_sec=0;size_per_sec=0;syncops=0;size_4k=0;size_4k_32k=0;size_32k=0;secs = 0;counts--;line--;}
End of program */ profile:::tick-1sec /OPT_txg == 0 && counts == 0/ { exit(0); } fbt::txg_quiesce:entry /OPT_txg == 1 && counts == 0/ { exit(0); }: failed to resolve Test: Unknown variable name
This is mentioned in other bug reports, but there seems nothing done about it.
I see messages going back 4 years on this subject, some even closed while the issue is clearly not fixed permanently.
System info:
OS Version: FreeNAS-11.3-U4.1
Model: SSG-6047R-E1R36L
Memory:
128 GiB
This machine is not yet in production so i could test some things still.
Please let me know if there is any more info required
Thanks
Bryan
Closing as user error. If I misunderstood let me know and we can reopen the ticket.
I take it that means the the ticket may be closed?
darn... too easy.
Thanks.... seems i need to update all previous machines to 11.3 then.
I believe '-p' is used to specify pool.zilstat -l 42 -p Test-Z3
Hi All,
Zilstat still seems broken on UEFI systems.
This system is fully up to date (new install)
When running
zilstat -l 42 Test-Z3
i get:
dtrace: invalid probe specifier
#pragma D option quiet
inline int OPT_time = 0;
inline int OPT_txg = 0;
inline int OPT_pool = 0;
inline int OPT_mega = 0;
inline int INTERVAL = Test-Z3;
inline int LINES = 42;
inline int COUNTER = -1;
inline int FILTER = 0;
inline string POOL = "";
dtrace:::BEGIN
{
/* starting values */
MEGA = 1000000;
counts = COUNTER;
secs = INTERVAL;
interval = INTERVAL;
interval == 0 ? interval++ : 1;
line = 0;
last_event[""] = 0;
nused=0;
nused_max_per_sec=0;
nused_per_sec=0;
size=0;
size_max_per_sec=0;
size_per_sec=0;
syncops=0;
size_4k=0;
size_4k_32k=0;
size_32k=0;
OPT_txg ? printf("waiting for txg commit...\n") : 1;
}
/*
collect info when zil_lwb_write_start fires
*/
fbt::zil_lwb_write_issue:entry
/OPT_pool == 0 || POOL == args[0]>zl_dmu_pool>dp_spa->spa_name/
{
nused += args[1]->lwb_nused;
nused_per_sec += args[1]->lwb_nused;
size += args[1]->lwb_sz;
size_per_sec += args[1]->lwb_sz;
syncops++;
args[1]->lwb_sz <= 4096 ? size_4k++ : 1;
args[1]>lwb_sz > 4096 && args[1]>lwb_sz < 32768 ? size_4k_32k++ : 1;
args[1]->lwb_sz >= 32768 ? size_32k++ : 1;
}
/*
Timer
*/
profile:::tick-1sec
{
OPT_txg ? secs++ : secs--;
nused_per_sec > nused_max_per_sec ? nused_max_per_sec = nused_per_sec : 1;
nused_per_sec = 0;
size_per_sec > size_max_per_sec ? size_max_per_sec = size_per_sec : 1;
size_per_sec = 0;
}
/*
Print header
*/
profile:::tick-1sec
/OPT_txg == 0 && line == 0/
{
/* print optional headers */
OPT_time ? printf("%-20s ", "TIME") : 1;
/* print header */
OPT_mega ? printf("%10s %10s %10s %10s %10s %10s",
"N-MB", "N-MB/s", "N-Max-Rate",
"B-MB", "B-MB/s", "B-Max-Rate") :
printf("%10s %10s %10s %10s %10s %10s",
"N-Bytes", "N-Bytes/s", "N-Max-Rate",
"B-Bytes", "B-Bytes/s", "B-Max-Rate");
printf(" %6s %6s %6s %6s\n",
"ops", "<=4kB", "4-32kB", ">=32kB");
line = LINES;
}
fbt::txg_quiesce:entry
/OPT_txg == 1 && POOL == args[0]>dp_spa>spa_name && line == 0/
{
OPT_time ? printf("%-20s ", "TIME") : 1;
OPT_mega ? printf("%10s %10s %10s %10s %10s %10s %10s",
"txg", "N-MB", "N-MB/s", "N-Max-Rate",
"B-MB", "B-MB/s", "B-Max-Rate") :
printf("%10s %10s %10s %10s %10s %10s %10s",
"txg", "N-Bytes", "N-Bytes/s", "N-Max-Rate",
"B-Bytes", "B-Bytes/s", "B-Max-Rate");
printf(" %6s %6s %6s %6s\n",
"ops", "<=4kB", "4-32kB", ">=32kB");
line = LINES;
}
/*
Print Output
*/
profile:::tick-1sec
/OPT_txg == 0 && secs == 0/
{
OPT_time ? printf("%-20Y ", walltimestamp) : 1;
OPT_mega ?
printf("%10d %10d %10d %10d %10d %10d",
nused/MEGA, nused/(interval*MEGA), nused_max_per_sec/MEGA,
size/MEGA, size/(interval*MEGA), size_max_per_sec/MEGA) :
printf("%10d %10d %10d %10d %10d %10d",
nused, nused/interval, nused_max_per_sec,
size, size/interval, size_max_per_sec);
printf(" %6d %6d %6d %6d\n",
syncops, size_4k, size_4k_32k, size_32k);
nused = 0;
nused_per_sec = 0;
nused_max_per_sec = 0;
size=0;
size_max_per_sec=0;
size_per_sec=0;
syncops=0;
size_4k=0;
size_4k_32k=0;
size_32k=0;
secs = INTERVAL;
counts--;
line--;
}
fbt::txg_quiesce:entry
/OPT_txg == 1 && POOL == args[0]>dp_spa>spa_name/
{
secs <= 0 ? secs=1 : 1;
OPT_time ? printf("%-20Y ", walltimestamp) : 1;
OPT_mega ?
printf("%10d %10d %10d %10d %10d %10d %10d", args[1],
nused/MEGA, nused/(secs*MEGA), nused_max_per_sec/MEGA,
size/MEGA, size/(secs*MEGA), size_max_per_sec/MEGA) :
printf("%10d %10d %10d %10d %10d %10d %10d", args[1],
nused, nused/secs, nused_max_per_sec,
size, size/secs, size_max_per_sec);
printf(" %6d %6d %6d %6d\n",
syncops, size_4k, size_4k_32k, size_32k);
nused = 0;
nused_per_sec = 0;
nused_max_per_sec = 0;
size=0;
size_max_per_sec=0;
size_per_sec=0;
syncops=0;
size_4k=0;
size_4k_32k=0;
size_32k=0;
secs = 0;
counts--;
line--;
}
/*
End of program
*/
profile:::tick-1sec
/OPT_txg == 0 && counts == 0/
{
exit(0);
}
fbt::txg_quiesce:entry
/OPT_txg == 1 && counts == 0/
{
exit(0);
}
: failed to resolve Test: Unknown variable name
This is mentioned in other bug reports, but there seems nothing done about it.
I see messages going back 4 years on this subject, some even closed while the issue is clearly not fixed permanently.
System info:
OS Version:
FreeNAS-11.3-U4.1
Model:
SSG-6047R-E1R36L
Memory:
128 GiB
This machine is not yet in production so i could test some things still.
Please let me know if there is any more info required
Thanks
Bryan